情景设想:
(假设最开始最新的分支为master)
a修改了分支,并进行了本地提交,
b修改了分支,远程提交,
此时仓库的最新分支为b提交的b-master,
但是a没有更新项目,所以a读取的最新分支依旧是master,
此时a提交则有两个选择
1,merge(时间线清楚)
找到a和b的共同祖先
将a-master,b-master,合并到一个新的节点中,new-master
2,rebase(简洁)
按照修改的时间顺序,先后串联起来
建议:
-
编码前先更新
-
提交前先更新
-
提交前检查是否有编译错误
-
提交粒度尽可能小,描述尽可能准确
-
修改了公共文件,尽早通知其他成员更新
-
最重要的,团队分工要明确
参考链接:
git merge 与 git rebase的区别
你真的懂git rebase吗?
Git代码防丢指南(ideal的git使用)