版本控制(英文:version control)係指管理一件嘢嘅改動,而嘢係可以係例如軟件或者純文字或者其他檔案噉[1]。版本控制可以係種人手工序;但係喺某啲領域,例如寫程式,可能會有特別軟件可以幫手做呢樣嘢,呢啲特別軟件叫版本控制軟件[1]。
如果係人手做版本控制,最簡單嘅做法係同每個檔案名加返個冧把——即係XXX V1.0 或者XXX V2.0 噉。
版本控制相關嘅功能好緊要——事實表明,有咁上下大嘅軟件項目會有數量龐大(閒閒哋幾百幾千)次嘅編輯,而且有陣時軟件工程師仲會(例如)發覺 10 次前吓修改有問題,所以想返轉頭搵返 10 次編輯前嗰個版本;因為噉,軟件工程師正路會想有套系統,清清楚楚噉打理好整緊嗰隻軟件嘅版本。
喺一啲機構入面,版本控制可能可以涉及一啲人手工序而唔係軟件功能。例如,要攞返某個版本,可能要同某個同事入紙,申請成功就攞到啲檔案,改完就再通知同事,將改咗嘅嘢整合返,途中第啲人可能唔可以改同一批檔案。
喺編輯同校對都要做版本控制,主要原因係因為同客人溝通好容易出錯[2]。平面設計都一樣;不過某啲種類嘅平面設計(例如用家介面設計)用嘅軟件可能有版本控制功能[3]。
喺大部分情形,版本控制好大程度上係靠喺檔案名嘜低版本;其中一個原因係呢啲領域用嘅大多數係二進制格式嘅檔案[註 1],變咗就算個人知有樣嘢叫版本控制軟件,一般嘅版本控制軟件亦根本處理唔到呢啲格式。除咗加冧把之外,另一種常見嘅做法係加日子時間;亦有啲人會嘜低係咪最終版本,不過一般唔建議咁做[2]。