跳转到内容

變更集

维基百科,自由的百科全书
改变集
上级分类群組、​数据集 编辑
用途版本控制 编辑
使用者開放街圖、​OSMCha、​Git、​Subversion 编辑

變更集(changeset)是版本控制軟體中一組修改記錄的總和,以及這些修改記錄的元資訊,變更集是軟體倉庫內二個連續版本之間的差異比較,一般會將變更集視為是版本控制系統中原子性英语Atomicity (database systems)單元,無法再分割。變更集屬於同步模式英语synchronization model[1][2]

術語

Git版本控制系統中,會將變更集稱為commit[3],提交變更集(技術上應該說是snapshot[3])則會使用commit指令[4]

其他版本控制系統會用不同的名詞來表示變更集,在Darcs英语Darcs裡稱為「補丁」(patches)[5],而Pijul稱為「變更」(changes)[6]

元資料

版本控制系統會在變更集中加上元資料。典型的元資料包括程式撰寫者的說明(在Git中稱為commit message)、撰寫者的姓名、提交的日期等[7]

不重複的識別碼是變更集的元資料中很重要的一部份。若是集中式的版本控制系統(像是SubversionCVS),會直接用遞增的數字作為識別碼[8][9]。分散式控制系統(例如git),則會在變更集上用密碼雜湊函數得到幾乎不可能重複的識別碼[10]

相關條目

參考資料

  1. ^ Mercurial: ChangeSet. [2020-08-05]. (原始内容存档于2010-01-15). 
  2. ^ Version Control System Comparison. Better SCM Initiative. [2020-08-05]. (原始内容存档于2009-03-21). 
  3. ^ 3.0 3.1 changeset in the gitglossary. [2023-10-16]. (原始内容存档于2024-04-03). 
  4. ^ commit in the gitglossary. [2023-10-16]. (原始内容存档于2024-04-03). 
  5. ^ Darcs - DifferencesFromGit. [2023-10-16]. (原始内容存档于2024-03-28). 
  6. ^ pijul log - The Pijul manual. [2023-10-16]. (原始内容存档于2023-08-17). 
  7. ^ Git - git-commit-tree Documentation. [2023-10-16]. (原始内容存档于2024-03-24). 
  8. ^ Revision Specifiers - Version Control with Subversion. [2023-10-16]. (原始内容存档于2024-02-04). 
  9. ^ CVS--Concurrent Versions System - Revisions. [2023-10-16]. (原始内容存档于2022-11-20). 
  10. ^ Git - hash-function-transition Documentation. [2023-10-16]. (原始内容存档于2024-03-14). 

延伸閱讀