昨天在公司加班的时候;碰到算法组同事讨论需要使用git XXX -f。
Git XXX -f
这个听着就感觉蛋疼。同时也生出一个想法。把之前学习到的git版本控制方法介绍一下。
主题:避免大量的冲突产生
在多人协同开发的团队里。怎么才能尽可能避免大量的冲突产生?
作者是这么做的。
方法如下:
假设有两个分支:master、dev;通常都会有这两个在云端。
同步到本地也会有master、dev两个分支
云端分支和本地分支一一对应。
几年前我也是这么做的。
后来有同事介绍给另外一个方法。
云端分支master、dev保持不变。
本地同步分支master、dev也不变
重点来了:在dev分支的基础上再建立一个dev_local分支
所以现在云端是maser、dev
本地是:master、dev、dev_local
然后遵循如下原则:
代码改动原则:所有的代码改动都放在dev_local分支里。
合并原则:首先在dev分支下拉去云端代码;
如dev拉取有改动:则进行测试改动是否影响build。
如产生影响则回滚消除本次拉去同步代码操作。并找对应的人员搞清楚问题原因。
如改动不影响build。则切换到dev_local分支。先从dev_local分支里合并dev。同理测试验证build和改动是否生效(通常都会生效的)。
如有冲突则解决冲突后再测试验证。
然后再次切换到dev分支。再次拉取是否有改动。如有改动重复刚才的动作。直到dev拉取无改动信息为止。
如dev拉取无改动:则直接合并dev_local分支。然后测试验证build或者新改动是否生效。如无问题进行push。
如此完成版本控制和协同开发版本控制。
领取专属 10元无门槛券
私享最新 技术干货