我希望得到一些想法。我有三个分支:
master
包含通用代码库,因此如果我想稍后分支以创建新类型的实现,我可以轻松地执行此操作。但是现在specific
是我的主要开发分支。
所以我将specific
分支到feature-branch
以测试新功能,一旦我满意,我将feature-branch
合并回specific
。
但有一些提交是specific
中特定于实现的提交,我不想将其合并回主服务器。大多数代码都是通用更改,我确实想要合并。
我将feature-branch
的约30次更改合并为specific
。在这30个中,大约20个我想从specific
合并到master
。
对我来说,最好的方法是什么?
我应该只选择要合并到master
的每个提交吗?如果是这样,我应该按照时间倒序顺序(即获得我想要合并的最早的提交,然后是第二个最旧的提交,依此类推 - 将它们全部重新引入master
)。
欢迎任何想法。感谢
答案 0 :(得分:1)
最好(如果你还没有将specific
推送到任何远程仓库)到:
specific
分支中的提交(master
的提交,然后是特定于实现的提交)。master
(这将是快进合并)git branch tmp SHA1
)上创建临时分支,并合并该分支(git checkout master ; git merge tmp
)这样,没有cherry-picking,意味着没有重复提交。
如果已推送具体内容,那么挑选可以起作用,从旧版提交到最新提交。
在“
cherry-pick A..B
”表单中,A
应该早于B
。 如果命令错误,命令将无声地失败。