故事:在一个项目的中间,我的同事从master创建了一个新分支,并开始做她繁重的重构工作。我从master创建了我的分支,并开始在页面上做新的东西。我们定期提交,但只有我可以将代码 rebase 到master(因为同事更改太重,还不能从 master 部署)。不幸的是,我们的一些工作依赖于相同的文件。因此,经过几天的工作,当她终于想将她的更改重新设置为master时,她遇到了很多 git 冲突。
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ /
her branch #------#-------#-----------#-----------#------------#
问题 1 是:当我们处理相同的文件时,如何防止大量 git 冲突?(或者在这种情况下最好的做法是什么?)
但这不是我们问题的结束,......绝对正确,她试图从 master 到她的分支进行变基(我提交了更改),所以提交映射应该看起来像这样
my_branch #---#----#-#-------#----#--#-----#---#----#----#
/ \ \ \ \ \ \
master *-------*--------------*---*---*--------------*----*----*
\ \ \ /
her branch #------#-------#----*------#-----*-----#------------#
这就是困扰我们的地方。在这些变基期间,她正在解决这些冲突。但是 git 不记得她对冲突修复的决定,所以当她从master到her-branch进行另一个 git rebase 时,她必须再次修复她在以前的 rebase 中修复的相同 git 冲突。
问题 2 是:如何告诉 git 在 git rebase 从master分支之后记住 git conflict fix,所以在下一次 rebase 之后我们不必再次修复相同的冲突?