Reflection on using Git

這篇將依照目前使用Git的心得,簡單的對Git與提供保存Git與原始碼在雲端的網路服務Github進行介紹。

Git是什麼? 為什麼要用Git?
Git是一種版本控制的系統。
換句話說,Git可以提供你整個專案版本的監控
藉由使用版本控制系統,你可以自由地在每個版本之間切換
你可以測試不同的版本並且備份你的版本。

Git的備份功能和傳統我們認知的備份有很大的不同。
依照傳統的作法,我們在進行一個專案時,若遇到不同的想法想測試,
我們可能會先將檔案(或整個專案)複製一份,並且用複製出來的新版本進行修改
原版就先進行保存。所以這時候你可能會遇到這種情況:



之後當我們的每個版本都有一定程度的發展,你可能會遇到這種情況:



這種情況我認為是各有優缺啦:
Pros
Cons
  1. 無腦,直覺,不須傷腦筋。在當下可以快速的分離出各種版本,並確定未來的發展。

  1. 檔案一多管理起來將會很傷腦筋,並且很難依照命名來推測出每個版本之間細微的差異。 
  2. 重複的檔案佔額外的容量。

依照傳統的方式,若本來要發展的版本分岐不大,確實可以使用這種方法,因為若沒有進入後續維護的階段,其實非常的省時省力。但一旦踏入了維護的階段,看到那排山倒海而來的檔案......你可能會全身無力......

那使用Git呢? 由於Git是一個工具,我們在學習一樣工具如何使用的過程中多多少少會耗費一些學習的時間,但就我用到目前為止而言,覺得經濟效益確實比傳統的作法好上太多。使用Git需要使用命令工具列(也就是按壓鍵盤Windows+R後,輸入cmd會出現的東西)輸入一些命令,但有了Github提供的圖形化介面之後,其實已經好用很多。
使用Git的優缺點:
Pros
Cons
  1. 自由自在的切換版本(註1)。(尤其在開發Android常常會有同時會牽涉到程式碼與外觀的部分,這時候可以很快的切換版本並執行)
  2. 自由自在的查看版本內每個紀錄的細節(註2)。(像是這次又加了什麼新功能,把什麼東西改掉了)
  3. 備份的方式很像是幫你建立一個還原點,而沒有複製重複的檔案。
  1. Git的使用方式需要學習,且Github與Github提供的圖形化介面軟體目前沒有中文版本。

以前我用傳統的備份方式,有時候常常在不同版本的專案資料夾內把檔案拉來拉去,後來也忘記這些名字一樣的檔案到底哪個是有改過哪個是沒有改過的;或是說有時候不小心在系統詢問要不要取代時不小心按了取代,然後心血便付諸流水。

至少現在我用了Git,我能很肯定地說我可以很大膽的coding,我可以肆無忌憚的對程式碼大興土木,只要在每個關鍵點記得做一個記錄的動作,之後就算我改壞了,一行指令就回來啦。這時候你真的可以體會什麼叫作天無絕人之路、什麼叫作浪子回頭金不換XD

學習使用Git可以參考:
  1. 歐萊禮出版的版本控制使用Git(第二版),內文平易近人。
  2. 繁體中文的官方Git使用手冊,圖文並茂好消化。
註1:Git的checkout
註2:Git的commit

延伸閱讀:我的Git常用指令(準備中)

沒有留言:

張貼留言