Git使用40個(gè)16進(jìn)制字符分SHA-1 Hash哈希算法來(lái)唯一標(biāo)識(shí)對(duì)象厂汗,基于Git中文件的內(nèi)容和目錄結(jié)構(gòu)計(jì)算出來(lái)的,Git 中所有數(shù)據(jù)在存儲(chǔ)前都計(jì)算校驗(yàn)和野芒,然后以校驗(yàn)和來(lái)引用蓄愁。
一般git只用于往數(shù)據(jù)庫(kù)中添加數(shù)據(jù),git有三種狀態(tài):已修改(modified),已暫存(staged),已提交(committed)狞悲,所有的文件只處于其中的一種狀態(tài)撮抓。Modified表示已經(jīng)修改的但未保存到數(shù)據(jù)庫(kù)中,處于本地工作區(qū)(Working Directory)摇锋。Staged表示對(duì)一個(gè)已修改文件的當(dāng)前版本做了標(biāo)記丹拯,使之包含在下次提交的快照中,處于暫存區(qū)(Staging Area)荸恕。Committed表示完成修改并保存在本地?cái)?shù)據(jù)庫(kù)中乖酬。處于已提交域(Repository)。
![](http://git-scm.com/book/en/v2/book/01-introduction/images/areas.png)
基本的 Git 工作流程如下:
1.在工作目錄中修改文件融求,之后文件就會(huì)處于Modified狀態(tài)咬像,Windows文件會(huì)顯示出紅色感嘆號(hào)
2.暫存文件,add將文件的快照放入暫存區(qū)域生宛,處于等待狀態(tài)县昂。
3.提交(commit)更新(push),找到暫存區(qū)域的文件陷舅,將快照永久性存儲(chǔ)到 Git 倉(cāng)庫(kù)目錄倒彰。