版本控制(Version Control, Revision Control, Source Control)在任何軟體專案中,是非常重要的東西,所有參與製作的人,應該都要有版本控制的概念,尤其是程式人員與資產(Assets/Resources)的管理。
常用術語
英文術語 |
中文術語 |
簡述 |
Repository (repo) |
知識庫、儲/貯存庫 |
版本控制管理放置檔案與歷程紀錄的地方。 |
Trunk, Master |
主幹、樹幹、主要版本 |
主要的版本。 |
Branch, Fork |
分枝、樹枝 |
版本分歧,分支後的版本與主要版本無任何相依。 |
Tag, Label |
標籤 |
分支的一種,但其分支是特定意義的,例如是某一版的release。 |
Commit, Check in |
提交、上傳 |
將所選的local端改變之內容(包含新增、修改、刪除)上傳至Repository。 |
Checkout |
簽出 |
從指定的Repository複製一份到local端。 |
Conflict |
衝突 |
有某個檔案的改變導致版本控制系統無法調解這些改變,此時需要使用者自行解決(Resolve)。 |
Head |
最新的版本 |
Trunk或Branch最近的Commit,也就是最新的版本。 |
Merge |
合併 |
可以是指檔案的合併,或者版本分支的合併。 |
Update, Sync |
更新、同步 |
從Repository下載合併與改變的內容,並放到現有的local。 |
Change, Diff |
改變、不同、差異 |
檔案或文件與repository比對後的差異。 |
常見的版本控制軟體:
Client-server式
- M$ Team Foundation Server
- Subversion (SVN)
分散式
文字檔案比對工具
- Beyond Compare 3
- WinMerge
- Code Compare
- Compare++