混帐:合并提交到不同的分支混帐:合并提交到不同的分支(Git: Merge a Commit int

2019-05-12 09:54发布

所以,我有3个分支;

  • develop -我继续开发分支
  • version_1 -发布分支
  • version_2 -发布分支

我不得不做一个修补程序version_2重新运送该版本,它是在2个档,非常小的一个2线的变化。

我想把这个修复程序version_1develop

所以我;

git checkout version_1
git merge <commit checksum>

我想到了一个承诺只包含的变化,所以将只适用于那些。 但合并冲突,因为它试图更新所有的两个分支之间的变化。

有没有一种方法来合并/移动/只适用于小的变化承诺其他分支?

我可以手动重新实现对这些分支的修补程序,但是这似乎是一个大量艰苦的工作,特别是随着越来越多的修补程序可能需要重新申请,并推广到所有其他分支。

Cheers, Will

Answer 1:

仅合并一个或几个提交的意思是使用git cherry-pick

首先取消合并,你只是没有:看到“ 撤消一个Git合并吗? ”。
然后:

git checkout version_1
git cherry-pick <commit checksum>

这可以适用于多次提交或提交范围的:见“ 如何挑樱桃一系列的提交和合并到另一个分支 ”。



Answer 2:

您需要cherry-pick的提交。

切换到您要添加提交的分支:

git checkout develop

然后, cherry-pick的提交。 首先做一个git reflog ,并得到了SHA-1的提交的修补程序。

然后,当你在分支developcherry-pick

git cherry-pick <commit SHA obtained above>

在执行另一个分支类似行动version_1



文章来源: Git: Merge a Commit into a different Branch