如何克服解决Git冲突的恐惧症?(序)

不知道大家有没有这样的经历呢?

在大学期间,我们经常会有课程设计,比如C++程序设计,比如设计一个俄罗斯方块程序,那么我们会怎么做呢?先在自己电脑上开发调试好,然后到了机房给老师演示到时候呢,用U盘拷到机房的电脑上,然后给老师演示,后来想了想,其实这样也没什么毛病,毕竟一个人。

后来随着课程设计越来越大、越来越难,一个人几乎不能完成(大神可以^_^),那么就几个人一组啦,那么如何协作呢?如果是两个人,那么可以在一台电脑上开发(结对开发),多个人的时候呢?用U盘?呵呵哒…于是我们想到了用版本控制,用什么好呢?

Svn?Github?Gitlab?GitOsChina(当时还是http://git.oschina.net,现在已经变成了https://gitee.com)?

后来决定用GitOsChina,因为免费,且可以创建私有仓库,那么问题来了,如何说服大家用Git呢?

…(此处省略1万字)

我费了十分大的力气说服他们使用 Git并教会他们基本的操作。但是使用Git不可避免的会产生编辑冲突,可是大家都害怕冲突、害怕解决冲突,可能是觉得解决冲突太麻烦了,解决不好还可能会丢失代码,说出来都是血和泪啊。

那么有没有好的方法或者是好的工具能克服解决Git冲突的恐惧症呢?

关键方法->减少冲突:

要减少冲突(即将它扼杀在萌芽阶段,/捂脸),关键在于组织和分工、沟通和习惯,如果架构设计耦合太多、分工有交叉、沟通少,那么无论用什么版本控制工具都不能解决冲突的问题;

治标方法->立竿见影:

“熟练掌握reflog+reset”告诉你后悔药是如何吃的,这就跟学车是一样的道理,一定要先学会踩刹车,心里才有底。不过,初次接触 reflog 的界面的童鞋很可能会不太熟悉,不知道怎么退出去,不要害怕,谷歌会给你答案。

治本方法->壮胆神药:

掌握Git基础和原理

辅助方法->开门见山:

装个好的前端比如SourceTree,一般性的操作,都可以不用指令,出了错有UI界面,解决冲突时只需动动鼠标,轻松加写意。

那么从下篇文章开始,我将带领大家一步一步炼出壮胆神药,敬请期待~

坚持原创技术分享,您的支持将鼓励我继续创作!