|前言 : 甚麼是版本控制? 為甚麼要用版本控制?
一個檔案會有不同版本,我們希望把每個版本都保存起來
版本控制分類
1) 一個人的版本控制
缺 : 規模大會很亂、無法清楚辨識版本間之差異
- 需要有程式去管理、解決上述缺點
2) 團隊的團體控制
圖一、無Branch進行開發
缺 : 無效率
圖二、有Branch進行開發
GIT是甚麼?
- GIT 是幫你做版本控制的程式
- 優:管理不同的版本、查看歷史紀錄、管理Branch
先自己思考怎麼做版本控制
| 前言 : 程式是為了解決問題,要了解這個工具前,要先思考為甚麼需要這個工具,這個工具要解決的問題是甚麼,如果是我我會怎麼解這個問題。例如:版本控制需要那些元素,這些元素為甚麼要產生?
圖一、未版控前檔案
- 法一、複製貼上改檔名
缺 : 無法保存某個時間點,整個資料夾的狀態
缺 : 版本之間存在依賴關係,但複製貼上進行版控,不易對應各版本與note
- 法二、資料夾
優 : 一目了然(數目、順序)、解決版本對應依賴關係
優化 : 部分檔案(如-電腦本身的設定檔)不想加入版本控制。所以只要將這些不加入版本控制的檔案,移出資料夾即可達到優化目標。
缺 : 多人協做時,資料夾以流水號方式命名,但我的v3與同事的v3不同,電腦卻無法識別 - 法三、絕對不重複之看似亂數編碼
優 : 保證多人協作時,版本絕對不重複
缺 : 如何識別檔案順序 - 法四、開檔案存這些版本的順序
缺 : 如何知道最新的版本號 - 法五、開一個檔案存最新的版本
- 結論、
1) 需要新版本 : 開一個資料夾
2) 不想加入版本控制 : 不要加入資料夾
3) 避免版本號衝突 : 用看似亂數的東西當作資料夾名稱
4) 知道最新版本 : 用一個檔案來存
5) 知道歷史紀錄 : 用一個檔案來記錄他的順序
(其實GIT只是做上述事情)
資料來源
- 程式導師計畫第五期 [GIT 101]