筆記、版本控制前言


Posted by s103071049 on 2021-04-16

|前言 : 甚麼是版本控制? 為甚麼要用版本控制?

一個檔案會有不同版本,我們希望把每個版本都保存起來

版本控制分類

1) 一個人的版本控制
缺 : 規模大會很亂、無法清楚辨識版本間之差異
版本控制01

  • 需要有程式去管理、解決上述缺點

2) 團隊的團體控制
圖一、無Branch進行開發
缺 : 無效率
版本控制02
圖二、有Branch進行開發

GIT是甚麼?

  • GIT 是幫你做版本控制的程式
  • 優:管理不同的版本、查看歷史紀錄、管理Branch

先自己思考怎麼做版本控制

| 前言 : 程式是為了解決問題,要了解這個工具前,要先思考為甚麼需要這個工具,這個工具要解決的問題是甚麼,如果是我我會怎麼解這個問題。例如:版本控制需要那些元素,這些元素為甚麼要產生?
圖一、未版控前檔案
未版控前檔案

  • 法一、複製貼上改檔名
    缺 : 無法保存某個時間點,整個資料夾的狀態
    複製貼上進行版控
    缺 : 版本之間存在依賴關係,但複製貼上進行版控,不易對應各版本與note
  • 法二、資料夾
    優 : 一目了然(數目、順序)、解決版本對應依賴關係

    優化 : 部分檔案(如-電腦本身的設定檔)不想加入版本控制。所以只要將這些不加入版本控制的檔案,移出資料夾即可達到優化目標。

    缺 : 多人協做時,資料夾以流水號方式命名,但我的v3與同事的v3不同,電腦卻無法識別
  • 法三、絕對不重複之看似亂數編碼
    優 : 保證多人協作時,版本絕對不重複

    缺 : 如何識別檔案順序
  • 法四、開檔案存這些版本的順序

    缺 : 如何知道最新的版本號
  • 法五、開一個檔案存最新的版本
  • 結論、
    1) 需要新版本 : 開一個資料夾
    2) 不想加入版本控制 : 不要加入資料夾
    3) 避免版本號衝突 : 用看似亂數的東西當作資料夾名稱
    4) 知道最新版本 : 用一個檔案來存
    5) 知道歷史紀錄 : 用一個檔案來記錄他的順序
    (其實GIT只是做上述事情)

資料來源

  • 程式導師計畫第五期 [GIT 101]

#版本控制







Related Posts

PHP & CGI 相關知識

PHP & CGI 相關知識

(其他)透過yml設定檔注入參數至特定資料結構

(其他)透過yml設定檔注入參數至特定資料結構

第一章:1 前置動作 && 下載加密貨幣歷史數據

第一章:1 前置動作 && 下載加密貨幣歷史數據


Comments