Git:将Commit合并到另一个分支

时间:2014-05-28 10:46:11

标签: git github merge commit git-merge

所以我有3个分支机构;

  • develop - 我的继续发展部门
  • version_1 - 发布分支
  • version_2 - 发布分支

我必须在version_2上做一个修补程序来重新发送该版本,这是2个文件中的2行更改,非常小。

我想将该修补程序应用于version_1develop

所以我;

git checkout version_1
git merge <commit checksum>

我认为提交只包含更改,因此只会应用这些更改。但合并冲突是因为它试图更新两个分支之间的所有更改。

有没有办法合并/移动/仅应用小提交中的更改到其他分支?

我可以手动重新实现这些分支上的修补程序,但这看起来很麻烦,特别是因为可能需要重新应用更多的修补程序并将其推广到所有其他分支。

Cheers, Will

2 个答案:

答案 0 :(得分:2)

仅合并一个或几个提交意味着使用git cherry-pick

首先取消你刚才做的合并:见“Undo a Git merge?” 然后:

git checkout version_1
git cherry-pick <commit checksum>

这可以适用于多次提交或一系列提交:请参阅“How to cherry pick a range of commits and merge into another branch”。

答案 1 :(得分:2)

您需要cherry-pick这些提交。

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

git checkout develop

然后,cherry-pick提交。首先执行git reflog并获取修补程序提交的SHA-1

然后,当你在分支developcherry-pick

git cherry-pick <commit SHA obtained above>

在另一个分支version_1上执行类似的操作。