標籤:gen xxx 理解 速度 一個 use efault def 快照
GIT學習參考:https://git-scm.com/book/zh/v2
版本控制
版本控制記錄了一個或若干檔案的曆史變化,便於今後查閱,恢複。
三類版本控制系統
- 本地版本控制系統 RCS : 本機存放區檔案變更系統,無法協作及對許可權做統一管理
- 集中化版本控制系統 CVCS : 變更儲存於集中的一台伺服器
- 分布式版本控制系統 DVCS : 分布式儲存版本庫鏡像, 包含檔案曆史變更的所有資訊
Git的曆史
git來自於linux團隊, 是linux為瞭解決之前版本管理工具Bitkeeper收費的問題研發出來的。
設計目標
- 速度
- 簡單
- 對非線性開發模式的強力支援(多個並行開發的分支)
- 完全分布式
- 適用超大規模項目
linux是開源的, 所以當他們之前使用的版本工具開始收費的適合,他們決定自己研發一個版本控制工具,即Git.
說起開源, 我們需要瞭解下常見的開源協議,以便我們做技術選型時考慮.例如一般的開源協議都要求使用開源架構的項目也要開源.
Git與SVN(或者說其他版本控制系統)的區別
直接記錄快照,而非差異比較
瞭解此項差異的底層實現方式非常重要,有利於我們更準確的理解和學習Git.具體可以參考文章開始的網站資料.(有圖有真相)
- 近乎所有操作都在本地執行(得益於第一點的底層實現,即分布式儲存)
Git使用sha1雜湊演算法算出的校正和保證完整性
Git的索引是校正值而不是檔案名稱,如果在傳送過程中有資訊丟失和損壞,Git就能發現.
Git一般只添加資料 (只要提交便不會遺失資料,可以執行可逆操作)
使用前的配置
# Default mygitlib user([email protected])
Host mygitlib.com
HostName mygitlib.com
User git
IdentityFile C:\Users\xueli.ssh\mygitlib
上面是Git起步和背景知識, 下次將學習Git常用命令.
(三)Java工程化--Git起步