跳轉到內容

程式設計基礎/版本控制

來自華夏公益教科書

版本控制,也稱為修訂控制或原始碼控制,是對文件、計算機程式、大型網站和其他資訊集合的更改進行管理。每個修訂都與時間戳和進行更改的人員相關聯。修訂可以進行比較、恢復,並且在某些型別的檔案的情況下,可以進行合併。[1]

版本控制系統 (VCS) 通常作為獨立應用程式執行,但也可能嵌入到各種型別的軟體中,包括整合開發環境 (IDE)。

版本控制實現了一種記錄和管理檔案更改的系統化方法。從最簡單的意義上說,版本控制涉及在不同階段對檔案進行“快照”。此快照記錄有關快照建立時間的資訊,以及有關不同快照之間發生更改的資訊。這使您能夠將檔案“倒回”到較早的版本。從版本控制的這個基本目標出發,提供了一系列其他可能性。[2]

版本控制允許您:[3]

  • 跟蹤檔案中的開發和更改
  • 以一種您以後能夠理解的方式記錄您對檔案的更改
  • 在維護原始版本的同時,嘗試檔案的不同版本
  • “合併”檔案的兩個版本,並管理版本之間的衝突
  • 恢復更改,在您的歷史記錄中“向後”移動到檔案的先前版本

版本控制對於促進協作特別有用。版本控制系統的最初動機之一是允許不同的人共同完成大型專案。使用版本控制進行協作比許多其他解決方案提供了更大的靈活性和控制。例如,可以兩個人同時處理一個檔案,然後將它們合併在一起。如果兩個版本之間存在“衝突”,版本控制系統將允許您檢視這些衝突並主動決定如何將這些不同版本“合併”成一個新的“第三”文件。使用這種方法,您還將保留以前版本的“歷史記錄”,以便您希望稍後恢復到其中一個版本。[4]

流行的版本控制系統包括:[5]

  • Git
  • Helix VCS
  • Microsoft Team Foundation Server
  • Subversion

本課程的其餘部分側重於使用 Git 版本控制系統。

Git 是一個版本控制系統,用於跟蹤計算機檔案中的更改,並在多個使用者之間協調對這些檔案的處理。它主要用於軟體開發中的原始碼管理,但它可以用來跟蹤任何一組檔案的更改。Git 由 Linus Torvalds 在 2005 年為 Linux 核心的開發而建立,是免費的開源軟體。[6]

免費的公共 Git 儲存庫可從以下位置獲取

  • Bitbucket
  • GitHub

透過在當前工作目錄中建立一個 .git 子目錄來初始化一個新的 Git 儲存庫

  • git init

克隆現有儲存庫只需要儲存庫的 URL 和以下 git 命令

  • git clone <url>

克隆後,儲存庫透過推送和拉取更改來同步。如果原始源儲存庫已修改,則使用以下 git 命令將這些更改拉取到本地儲存庫

  • git pull

本地更改必須新增和提交,然後推送到遠端儲存庫。注意第一個命令末尾的句點(點)。

  • git add .
  • git commit -m "提交原因"
  • git push

如果本地儲存庫和遠端儲存庫之間存在衝突,則應合併更改,然後推送。如有必要,可以使用以下命令將本地更改強制執行到遠端伺服器

  • git push --force

關鍵術語

[編輯 | 編輯原始碼]
分支
版本控制下檔案的獨立工作副本,可以獨立於原點開發。
克隆
建立一個包含來自另一個儲存庫的修訂的新儲存庫。
提交
將工作副本中所做的更改寫入或合併到儲存庫。
合併
將兩組更改應用於檔案或檔案集的操作。
推送
將當前儲存庫中的修訂複製到遠端儲存庫。
拉取
將遠端儲存庫中的修訂複製到當前儲存庫。
版本控制
對文件、計算機程式、大型網站和其他資訊集合的更改進行管理。
版本控制系統
通常作為獨立應用程式執行,但也可能嵌入到各種型別的軟體中,包括整合開發環境

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書