常用GIT命令
在開始之前,我們需要把下面的圖看懂:
HEAD,頭,它始終指向當(dāng)前所處分支的新的提交點(diǎn)。你所處的分支變化了,或者產(chǎn)生了新的提交點(diǎn),HEAD會(huì)跟著改變。
working directory,它是你的工作目錄,也是當(dāng)前你看到的東西。你的工作目錄是與版本、分支相關(guān)的。
stage的東西雖然看不見,但是執(zhí)行g(shù)it status會(huì)看到哪些對(duì)象的修改將在下一次commit的時(shí)候被放進(jìn)本地倉庫。這些東西稱為stage。
commit
commit把暫存區(qū)的內(nèi)容存入到本地倉庫,并使得當(dāng)前分支的HEAD向后移動(dòng)一個(gè)提交點(diǎn)。如果對(duì)后一次commit不滿意,可以使用git commit --amend來進(jìn)行撤銷,修改之后再提交。如圖所示的,ed489被4ca87取代,但是git log里看不到ed489的影子,這也正是amend的本意:原地修改,讓上一次提交不露痕跡。
checkout
checkout用來檢出并切換分支。checkout成功后,HEAD會(huì)指向被檢出分支的后一次提交點(diǎn)。對(duì)應(yīng)的,工作目錄、暫存區(qū)也都會(huì)與當(dāng)前的分支進(jìn)行匹配。下圖是執(zhí)行g(shù)it checkout maint后的結(jié)果: