一:版本控制系統(tǒng)簡稱 VCS
1.集中化的版本控制系統(tǒng):
- 有一個單一的集中管理服務(wù)器,保存所有文件的修訂版本钠糊。
- 客戶端 獲取最新的文件快照/ 提交更新
缺陷:
- 服務(wù)器故障挟秤,無法協(xié)同工作。
- 服務(wù)器損壞抄伍, 丟失項目的變更歷史艘刚。
2.分布式版本控制系統(tǒng):
- 客戶端不只是提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來截珍。
二:Git特點
1.Git直接記錄快照攀甚,而非比較差異。
Git和其他版本控制系統(tǒng)的主要差別在于Git對待數(shù)據(jù)的方法岗喉。
大部分系統(tǒng)以 文件變更列表的方式存儲信息秋度。 一組基本文件 + 每個文件隨時間積累的差異。
對全部文件制作一個快照钱床,并保存這個快照的索引荚斯。
- 因為Git是從服務(wù)端克隆的代碼倉庫,大多數(shù)操作都是本地操作查牌。
3.Git保證完整性事期。
Git中所有數(shù)據(jù)再存儲前都計算校驗和,然后以校驗和來引用纸颜。計算校驗和的機制叫SHA-1散列(哈希)兽泣。 是一個由40個十六進制字符組成的字符串。
三:Git介紹
1.Git有三種狀態(tài)胁孙,文件可能處于其中一種
- 已提交(committed):數(shù)據(jù)已經(jīng)安全的保存在 本地 數(shù)據(jù)庫中唠倦。
- 已修改(modified):修改了文件称鳞,還沒有保存到數(shù)據(jù)庫中。
- 已暫存 (staged): 對一個已經(jīng)修改的文件做了標記牵敷,使它包含在下次提交的快照中胡岔。
2.三個工作區(qū)域:
- Git倉庫 (.git 文件夾):用來保存項目的元數(shù)據(jù)和數(shù)據(jù)庫的地方衙传。
- 工作目錄 : 對項目的某個版本提取出來的內(nèi)容姐扮,是從git倉庫的數(shù)據(jù)庫中提取出來的文件鳞芙。放在磁盤上供使用和修改汪疮。
- 暫存區(qū): 是一個文件羹膳,一般在Git倉庫中礁叔,也叫索引拭荤,保存了下次將提交的文件列表信息孟抗。
3.基本工作流程
在工作目錄修改文件润匙, 將文件快照放入暫存區(qū)暫存文件诗眨,找到暫存區(qū)文件,將快照永久性存儲在Git倉庫孕讳。