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