樱桃挑选提交订单


这可能是

一个幼稚的git问题,但这里是:

在执行拉取请求之前,我通常会从上游的最新提交创建一个新分支,并从我的开发分支中挑选重要的提交。然后从我的新分支向远程存储库发出拉取请求。

但是我讨厌合并冲突(尽管 git 合并工具在发生时有很大帮助)。我怀疑其中一些冲突是由樱桃采摘的顺序引起的。我通常会从最旧到最新的提交中挑选一组提交。这是正确的方法吗?还是提交顺序对 git 无关紧要?

在挑选樱桃时,还有其他技巧可以最大限度地减少合并冲突吗?

你绝对应该按顺序挑选提交。如果你不这样做,它们可能不适用 - 想象一下一个提交添加了 foo.c,下一个提交修改了它。显然,它们不会乱七八糟地工作。一般来说,即使不是那么明显,也有一些逻辑的开发流程,你不想弄乱它。也就是说,我不确定您为什么要手动创建分支并挑选樱桃;它等效于(只要您不跳过提交)git pull --rebase .

如果您在挑选樱桃时遇到合并冲突,这更表明您的开发过程并不理想。这意味着您在开发分支中正在处理的事情也在上游发生变化。你可以通过不处理其他人正在处理的相同代码来帮助自己,或者在开发过程中更频繁地从上游拉取(可能再次pull --rebase),而不是等到最后。

当然,提交顺序很重要。如果提交 B 修改了提交 A 中首次引入的内容,则在应用提交 A 之前,您无法应用提交 B。

您的工作流程很奇怪。您应该git rebase分支以在上游分支的内容之上重建它,或者只是将上游分支git merge到您的分支中。这避免了挑选工作,实际上为 git 提供了更好的自动解决冲突的机会。

相关内容

  • 没有找到相关文章

最新更新