2019年9月18日 星期三

GitLab 初探

版本控制 參考

定義: 一個或一組檔案在一段時間的變更紀錄,方便之後取得特定版本的一個系統
本地端 (RCS) / 集中式 (CVS、Subversion) / 分散式 (Git或Mercurial)

本地端: 用簡單的資料庫 紀錄檔案的所有變更紀錄
RCS以特殊格式紀錄patch set (紀錄從一個版本變更到另一個版本所需資訊)

集中式 CVCS: 相對本地端, 大家可了解其他人做的更動, 管理員可調整權限
缺點: 檔案集中在伺服器, 會有風險。 如果當機, 無法將變更傳遞給其他使用者; 若毀損, 使用者只能拿到在本機上的版本, 無法取得開發歷史。

分散式 DVCS: 完整取出整個儲存庫,即使Server毀損, 仍可由Client端還原回去