理解git的基本概念對(duì)git的使用很有幫助
一表悬、git與其他版本工具的區(qū)別
1.主要區(qū)別在于對(duì)待數(shù)據(jù)的方法上丧靡。
傳統(tǒng)的版本控制工具以文件變更列表的方式儲(chǔ)存信息蟆沫,這類vcs工具將他們保存的信息看作是一組基本文件和每個(gè)文件隨時(shí)間逐步積累的差異籽暇。而git則是將數(shù)據(jù)看作是對(duì)小型文件系統(tǒng)的一組快照,每次提交更新時(shí)饭庞,將所有的文件制作成一個(gè)快照并且保存這個(gè)快照的索引戒悠,為了高效,若文件沒有修改舟山,git不在重新儲(chǔ)存該文件绸狐,而是保留一個(gè)鏈接指向之前儲(chǔ)存過的文件。Git對(duì)待數(shù)據(jù)更新是一個(gè)快照流累盗。
2.本地?cái)?shù)據(jù)訪問
git絕大部分的操作都只需要訪問本地文件和資源寒矿,一般不需要網(wǎng)絡(luò)的其他計(jì)算機(jī)信息。(操作工作區(qū)和版本庫(kù))
3.git保證完整性幅骄。
git所有的數(shù)據(jù)都儲(chǔ)存在計(jì)算機(jī)校驗(yàn)和劫窒,然后通過計(jì)算機(jī)校驗(yàn)和來進(jìn)行引用。這就意味著你不可能在不知道git校驗(yàn)和的情況下來引用主巍、更改任何的文件內(nèi)容和目錄內(nèi)容。
二搞旭、Git的基本概念
1.校驗(yàn)和
git中所有的數(shù)據(jù)在存儲(chǔ)前都計(jì)算校驗(yàn)和咬最,然后使用校驗(yàn)和進(jìn)行引用。這套機(jī)制使得在git不知情時(shí)更改任何文件的內(nèi)容。git的校驗(yàn)和的機(jī)制叫做 SHA-1散列(hash 哈希值)绩脆,是基于git文件的內(nèi)容或目錄計(jì)算出來的40位十六機(jī)制字符串(0-9和a-f組成)。
2.git項(xiàng)目的三個(gè)工作區(qū)域
git倉(cāng)庫(kù)赦拘、工作目錄蹋艺、暫存區(qū)
3.git的三種狀態(tài)
已提交涛救、已修改、以暫存
- 已修改(modified)---修改了文件,但是將文件保存到數(shù)據(jù)庫(kù)中
- 已暫存(staged)---將一個(gè)已修改的文件做了標(biāo)記,保存在暫存區(qū)
- 已提交(committed)---將暫存區(qū)的數(shù)據(jù)安全的的保存到本地的數(shù)據(jù)庫(kù)中