如何在git中将我的功能分支重新绑定到开发分支,并且可能发生冲突最少?

Kar*_*sai 11 git rebase git-rebase git-commands git-merge-conflict

我的功能分支超过了大约30个或更多提交.与此同时,在开发分支中,其他开发人员也没有推出其他功能.因此,每次在开发时发布新功能时,我都会被要求:

  1. Rebase开发分支到我的功能分支
  2. 解决冲突(如果有的话)
  3. 继续在功能分支中进行开发

问题

第二步是这里的鸡脖子.在重新定位时,它为每个分支的提交提供了冲突.这实际上是迭代和冗余的.注意,由于我在分支机构的工作仍在进行中,因此我无法立即重新开发开发分支.

我尝试了什么?

  1. 为了squash减少我提交尽可能(但是这有助于至少,因为大部分时间没有什么壁球)
  2. stash我的改变,改变开发,然后取消我的变化.(但在这里,我也会遇到冲突)
  3. 使用-preserve-mergesrebase.(但是这里的每个人都大声说使用它是完全气馁的)

那么,当功能分支本身有大量提交时,处理功能分支上的变形发展到最少冲突的最佳方法是什么.我是一个更新鲜的人,所以回复一个有用的解释(或链接)将有助于继续.

Von*_*onC 7

工作流程是健全的(rebase).
但冲突不应该一次又一次地解决.

为此,你有git rerere:激活它(git config --global rerere.enabled true),最后一次解决冲突(或进行手动重新训练使用contrib/rerere-train.sh),你的下一个rebase将在你的下一个rebase 重新使用这些冲突解决方案.