同步远程最新代码,开始工作...
git push产生冲突,说明有人先你一步同步了他的本地代码到远程。
这时候,你需要先拉取代码,可以使用命令
git pull , 该命令会将远程的提交和你本地的提交merge,如果有冲突需要手动解决并提交,会产生merge的记录
git pull -- rebase 该命令会把你的提交“放置”在远程拉取的提交之后,即改变基础(变基),如果有冲突
解决所有冲突的文件,git add <冲突文件>
git rebase --continue
完美解决问题。
目前团队一直在做code review,指派的是开发leader做检查,其作用很大,但审查的人感觉比较累,从这篇文章中知道了要制定好审查规则,给审查的评论分级。
不过有一点还是没有弄清楚,就是如果一个大的功能分多次提交的话,随着主分支中的改动越来越多,合并时的冲突的可能性就越来越大,
为了解决这个问题,我们目前的做法是在本地分支开发,开发完成前不push,开发完成后做好rebase,然后push,再做pr,好处就是大大降低了合并时的冲突概率,同时能看到开发的完整内容,坏处就是一个大功能的pr,内容很多。
这篇文章提到的多次pr也不好弄,分多次pr,没法看到开发者的最终产出物,而且中途的修改可能影响功能的可用性。