不知道大家有沒有這樣的經歷呢?
在大學期間,我們經常會有課程設計,比如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介面,解決衝突時只需動動滑鼠,輕鬆加寫意。
那麼從下篇文章開始,我將帶領大家一步一步煉出壯膽神藥,敬請期待~