sys*_*ult 5 git merge-conflict-resolution git-cherry-pick
这可能是一个天真的git问题,但这里是:
在执行pull-request之前,我通常会从上游的最新提交创建一个新分支,然后从我的开发分支中挑选重要的提交.然后从我的新分支向远程存储库发出pull-request请求.
但我讨厌合并冲突(尽管git mergetool在发生时会有很大的帮助).我怀疑这些冲突是由樱桃的顺序引起的.我通常会从最旧的提交到最新提交的一系列提交.这是正确的方法吗?或者提交命令对git无关紧要?
在挑选樱桃时,是否有其他技巧可以最大限度地减少合并冲突?
你肯定应该按顺序挑选提交.如果不这样做,它们可能无法应用 - 假设一个提交添加了foo.c,而下一个提交会修改它.显然,它们不会失灵.一般来说,即使它不那么明显,也有一些合乎逻辑的开发流程,你不想搞砸它.也就是说,我不确定你为什么要手动创建一个分支和挑选; 它是等效的(只要你没有跳过提交)git pull --rebase.
如果你在采摘樱桃时遇到合并冲突,那么更多的迹象表明你的开发过程并不理想.这意味着您正在开发分支中处理的事情也在上游进行更改.您可以通过不处理其他人正在处理的相同代码,或者pull --rebase在开发期间更频繁地从上游拉动(而不是等待直到最后)来帮助自己.