意義
可以將多人操作內(nèi)容整合,也可以進(jìn)行備份與恢復(fù)
理解:
git有四個(gè)存儲(chǔ)地方,分別是工作區(qū)(本地文件夾),暫存區(qū)(提供暫時(shí)存儲(chǔ)),本地倉(cāng)庫(kù),遠(yuǎn)程倉(cāng)庫(kù)。
文件通過(guò)add關(guān)鍵字被添加到暫存區(qū),在使用commit關(guān)鍵字提交到本地倉(cāng)庫(kù),最后使用push推送到遠(yuǎn)程。
以本地倉(cāng)庫(kù)為分界線(xiàn),提交到本地倉(cāng)庫(kù)以及之前的目錄可以恢復(fù),一旦提交遠(yuǎn)程則無(wú)法恢復(fù)。
操作:
1.查看幫助命令:
git
一般情況下,該命令行都會(huì)有提示,根據(jù)需要進(jìn)行選擇即可。
2.創(chuàng)建:
git init:生成一個(gè)隱藏文件,代表git對(duì)該文件夾進(jìn)行管理。在使用其他命令前,必須先使用該命令否則沒(méi)有意義。一旦文件夾生成,該文件被管理。該命令在生成文件后就不再使用,即使用一次即可。
3.查看狀態(tài):
git status:文件為紅色,表示在工作區(qū);綠色表示在暫存區(qū);文件前有modify表示該文件已被修改,空白表示從未提交到本地倉(cāng)庫(kù)。
3.git add diename/filename將文件添加到暫存區(qū)
4.git commit -m message:添加備注并提交到本地倉(cāng)庫(kù)
5.恢復(fù)暫存區(qū)內(nèi)容:(文件顯示為綠色)git reset HEAD filename此時(shí)內(nèi)容并沒(méi)有恢復(fù),需要使用步驟6
6.恢復(fù)工作區(qū)內(nèi)容:(文件顯示為紅色)git checkout -- filename
7.查看版本好:git reflog
8.恢復(fù)提交后內(nèi)容:git reset --hard 版本號(hào)可以前進(jìn)可以后退到任意版本
git reset? --hard HEAD^表示恢復(fù)上一版本
git reset --hard HEAD^^恢復(fù)到上面兩個(gè)版本
git reset --hard HEAD~n 表示恢復(fù)前n個(gè)版本
注意:想要恢復(fù)這個(gè)文件,必須這個(gè)文件被管理過(guò),也就是說(shuō)它必須被提交到本地倉(cāng)庫(kù)才能使用8命令,或者,必須被提交到暫存區(qū)才能使用5命令,以此類(lèi)推。
分支命令:
查看分支:git branch
創(chuàng)建分支:git branch bname
創(chuàng)建并切換到該分支:git checkout -b bname
切換分支:git checkout bname
合并分支:git merge bname
刪除分支:git branch -d bname
理解:
分支使用在同時(shí)開(kāi)發(fā)多個(gè)功能的時(shí)候,每一個(gè)分支管理一個(gè)功能。最后,合并分支將所有功能合并在一起。
分支創(chuàng)建后,相當(dāng)于在主分支目錄之下創(chuàng)建一個(gè)文件夾,此時(shí)文件夾獨(dú)屬于次分支,其他分支看不到這個(gè)文件夾。
因此便于文件的管理。
分支對(duì)應(yīng)的功能處理完成后,需要提交到本地倉(cāng)庫(kù)中,然后切換到主分支,對(duì)自分支進(jìn)行合并。此時(shí)才能在主分支對(duì)應(yīng)的目錄里看到
內(nèi)容;最后刪除分支。
錯(cuò)誤:
主分支在創(chuàng)建子分支前必須進(jìn)行一次提交,否則主分支被切換后會(huì)消失。
如未提交前使用git branch 查看分支沒(méi)有內(nèi)容也就是說(shuō)主分支不在倉(cāng)庫(kù)管理中。
必須在主分支創(chuàng)建子分支。子分支也可以創(chuàng)建子分支。
但創(chuàng)建分支時(shí)會(huì)復(fù)制創(chuàng)建縫制的分支目錄,若使用子分支創(chuàng)建,文件會(huì)重復(fù),合并時(shí)會(huì)增加不必要的操作。
合并分支前必須切換到主分支,不然不能合并。該分支只有對(duì)應(yīng)功能內(nèi)容,美與其他功能內(nèi)容。
應(yīng)該使用git status查看分支,不然在不同窗口切換分支后查看不準(zhǔn)確。