[git]用工具的還是人

  • 228
  • 0

一則臉書貼文,有關 git 之前大家怎麼版控的。

讓我有幾個感想值得自己記下來。

一則臉書貼文,有關 git 之前大家怎麼版控的。

https://www.facebook.com/groups/git.tw/permalink/1817171478331512/

樓主留言問到

「想請教一下各位前輩

知道在沒有git 或 svn之類的軟體出現之前

是怎麼協同開發的...

 

剛剛跟公司的高層主管(不會寫程式)聊天

他說我們公司DevOps很奇怪

為什麼都沒辦法協同開發

說到協同開發每個人都一臉大便

 

我跟他說很多點公司的現況

1.git當備份工具 commit都沒有意義 更別說開分支之類的

2.大家都是直接連到伺服器去改程式

3.沒有人來負責merge程式

之類的

 

就被他反嗆

他們1X年前沒用這些東西

大家也都是連到同一台伺服器去做

照樣都可以協同開發

系統也更新了好幾代

為什麼現在不行...

所以想了解一下早期1X年以前

git svn這些東西出現以前

是怎麼協同開發的」

 

結果有滿多留言不是在回答「git svn這些東西出現以前

是怎麼協同開發的」,而是在講主管有問題。

如果是你,應該怎麼回答這問題呢?

 

也許樓主是來討拍的,而講主管有問題的才是正確解答。

但我還是留言以前經歷過的協同開發怎麼做的:「Code review, 專人merge 。之後有rational, source safe, cvs,就有辦法一個人改的時侯check out鎖檔不讓別人改,改完check in。」

 

當然,有些人講得沒錯,現在的程式複雜度比較高,沒有工具就很難處理好。

可以說,因為現在工具的存在,才會出現現在程式的高複雜度。

但反過來說也對,因為有高複雜度的程式的需求,才會造成現在工具的誕生。

但是,重要的還是,不會用工具的人還是會搞得一團糟。

人的概念、程式複雜度、工具支援度,三個東西是程度相合的。其中一個跟不上,就必定出問題,就必定要調整。

 

最後,我只能留以下留言給事主:

「如果你推不動其他資深同事,那就跟老闆說清楚。

你講的123點,不論用什麼工具都是必須要人們去做好的。

工具再好,人亂用,還是一塌糊塗。

用工具卡死、強迫一定要做到123點,每個 commit 要送老闆簽核、只有某些人才有辦法 merge 進版…等都有辦法做到,以前的幾個 source control software 都做得到。但是如此做會面對更多人性的挑戰,因為那是用伺服器就開始卡權限的,一個人不在位子上,就有可能整個公司不用改程式,一定更多人會抱怨。

工具會進步,就代表舊的方式需要捨棄一些東西來換取另一些東西。git 就是捨棄嚴格卡控,換來靈活合併與分支。如果同事們沒有相對應的概念,就容易弄得更亂。

這時候你們要想想該選擇哪種合作模式才是適合你們這群人,看是要改模式還是換工具或是換公司。」

 

以上幾點感想。

 

 

 

分享