所以我有 3 个分支;
develop
- 我的持续开发分支version_1
- 发布分支version_2
- 发布分支
我必须对 version_2
进行修补程序才能重新发布该版本,这是 2 个文件中的 2 行更改,非常小。
我想将该修复应用于 version_1
和 develop
。
所以我;
git checkout version_1
git merge <commit checksum>
我认为提交仅包含更改,因此只会应用这些更改。但 merge 会发生冲突,因为它试图更新两个分支之间的所有更改。
有没有办法只 merge/移动/应用小提交中的更改到其他分支?
我可以在这些分支上手动重新实现修补程序,但这似乎是一项艰巨的工作,特别是因为可能需要重新应用更多修补程序并将其推广到所有其他分支。
Cheers, Will
最佳答案
仅 merge 一个或几个提交意味着使用 git cherry-pick
首先取消刚刚执行的 merge :请参阅“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 ”。
关于Git:将提交 merge 到不同的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909514/