分享

Python Taiwan讀書會_4_版本控制git 101

雖然這裡掛著Python Taiwan讀書會的招牌,但我確實感受到主持人想的,並不僅限於讓初學者們寫出會動的程式,他非常重視養成觀念與習慣,而我也相信基礎的東西累積得紮實,路才走得遠,樓才蓋得高。
git的重要性在於,是程式相關的工作中,整個團隊透過git做版本控制,git不只管一個檔案,是可以管到整個目錄下的所有檔案。當幾個人一起寫程式的時候,大家都要在同一個目錄下作業,在git上可以很清楚地看到誰增減了什麼,若想回到之前的版本,也不會因為被覆寫過去而含淚重寫,偶有兩人改同一個地方時,也會標示衝突,再用討論來決定如何修改。
相較於上次我同學舉例,非系統開發的人(阿不就是我)是如何處理不同版本的檔案,我很開心我最近認識了git,我非常喜歡這種頭腦清楚的做事方法,只是我還不知道它喜不喜歡我。如果沒用工具的版本控制方法,時間越久,檔案越多越大、參與的人多,就會出現各式各樣大小問題,然後就是災難的開始:工作效率差、品質難控制、一版沒結案又開發下一版、舊的都砍掉也找不到問題是誰造成的,總之就是亂成一團。雖然git未必只能寫程式時用,任何文件都可以,但對於不那麼在意品質或版本、產出多是些文書或簡報的團隊,沒有用這種工具也死不了人,但對於系統開發的團隊,我相信沒有使用這種版本控制的工具,開始上班就分分鐘都想死,也是遲早的事。
git教學的資源,在網路上不難找到,在08/29讀書會之前,我先照某個網頁上的指令安裝Git Bash、做了一遍clone、push、pull等基本動作,雖然做過後不是很確定自己做了什麼,但我只要做過就應該有感情基礎的,在讀書會進行中不至於全懵,原本50個同學的讀書會,可能那天就已經因為大稻埕煙火活動而少出席,結束前約剩下25個,原定11:00結束的讀書會也到11:30仍欲罷不能,但一整天下來,我感到我大腦已經乾掉。
對沒寫過程式、也不太用指令的人,這的確是堵牆,要在牆內或牆外,只是種選擇。
主持人王大哥交辦,一定要會背16個git指令,用得熟練,不要去買書(跟我同學說的一樣),書裡教上幾十幾百個指令,沒用到就是沒用。我在這裡特別記下的,是我認為在用git時,要有些觀念和習慣當基底,雖然網路上的教學網頁中可能也會提到,問題是沒有會的人耳提面命,我也很可能是看到好東西都不知道撿起來:
>>>git commit -m 'fix bug 101 about screen error'提交前用一句話說明這次提交做的事(例:fix bug 101 about screen error),所以一件事情做完就可以commit,不要同時改兩三個事情,有bug的不要commit。每次都要做完commit再睡,以免一覺醒來欲哭無淚。>> -- tagmaster下才會貼tag,盡量不要在master上改東西,盡量只在 features、hotfix、branches 上改 code。後面要加--tag ,這樣才能用git checkout查到不同版本。>>>git的非分散式集中(最重要的一頁): 大家腳色不一樣,但大家都可以去remote抓資料,但大家各自電腦裡的都不一樣(local未必跟別人一樣)https://slides.com/ming-derwang/that-s-g-it#/5/1
課後我看過講義後,過目即忘的能力維持得很好,所幸講義上有建議的連結可以練習。
https://github.com/twtrubiks/Git-Tutorialshttps://github.com/twtrubiks/Git-Tutorials/tree/master/Git-Flow
分類:學習

評論
上一篇
  • 下一篇
  • 更多文章
    載入中... 沒有更多了