git學(xué)習(xí)

基本概念:

Git對(duì)象:

查看對(duì)象類(lèi)型

git log --pretty=raw --graph e672332

打印提交對(duì)象之間的互相關(guān)聯(lián)的跟蹤鏈,--pragh顯示parent屬性,沒(méi)有parent即為起點(diǎn)

顯示當(dāng)前分支

git branch ? ??

HEAD,master分支,和refs/heads/master區(qū)別

使用master代表分支master中最新的提交,也可以使用全稱(chēng)refs/heads/master或heads/master

使用HEAD代表版本庫(kù)中最近的一次提交

符號(hào)^可以用來(lái)只帶父提交,如:

HEAD^代表版本庫(kù)的上一次提交,即最近一次提交的父提交(即倒數(shù)第二次提交)

HEAD^^代表HEAD^的父提交

Git重置

git reset可以將游標(biāo)指向任意一個(gè)存在的提交ID

git reset –hard HEAD^將master重置到上一個(gè)老的提交中,此時(shí)提交歷史也會(huì)改變

使用git reset重置命令很危險(xiǎn),會(huì)徹底的丟失歷史

使用Git reflog來(lái)挽回錯(cuò)誤的重置

#git reflog show master |head -5

7250a94 master@{0}: HEAD^: updating HEAD

df208c4 master@{1}: commit: leavewelcome.txt alone

7250a94 master@{2}: merge 7250a:Fast-forward

a2d0352 master@{3}: commit: 5th commit

67fba85 master@{4}: master@{3}: updatingHEAD

重置master為2次提交之前的值:

git reset –hard master@{2}

git檢出

git branch -v查看當(dāng)前分支

git chackout master切換到master分支上

git checkout branch檢出branch分支

git merge ac23224將處于分離頭指針狀態(tài)的提交于當(dāng)前分支合并

基本操作:

刪除文件:

git rm ww.txt在版本庫(kù)的最新提交中刪除文件,在歷史提交中還在。而直接在工作區(qū)刪除文件,對(duì)暫存區(qū)和版本庫(kù)沒(méi)有任何影響。

移動(dòng)文件:

直接先使用linux的重命名:mv welcome.txt README

然后添加即可: git add ?-A

回復(fù)刪除的文件:

最簡(jiǎn)潔實(shí)用的語(yǔ)句:git checkout HEAD~1 -- ??welcome.txt

選擇性添加文件:?

git add -i使用交互式界面添加文件

文件忽略:

.gitignore的作用范圍時(shí)其所出的目錄及其子目錄

Git的文件忽略只是對(duì)未入庫(kù)(untrack)的文件起作用

Git的忽略語(yǔ)法:

1.忽略文件中的空行或以#開(kāi)始的行會(huì)被忽略

2.可以使用通配符,*代表任意多字符,?代表單字符,[abc]代表可選字符范圍

3.如果名稱(chēng)的最前面是一個(gè)路徑分隔符(/),表明要忽略的文件在此目錄下,而非子目錄的文件

4.如果名稱(chēng)的最后面是一個(gè)路徑操作符(/),表明要忽略的是一整個(gè)目錄,同名文件不忽略,否則(即沒(méi)有/的話)同名的文件和目錄都忽略。

5.在名稱(chēng)的最前面添加一個(gè)感嘆號(hào)(!),代表不忽略

如:

*.a ??#忽略所有以.a為擴(kuò)展名的文件

!lib.a ??#但是lib.a文件或目錄不要忽略,即使是前面設(shè)置了對(duì)*.a的忽略

doc/*.txt ?#忽略文件如doc/notes.txt ,但是文件如doc/serve/arch.txt不被忽略

/TODO ?#只忽略此目錄下的TODO文件,子目錄的TODO文件不被忽略

build/ ??#忽略build/目錄下所有的文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Git教程 一、Git簡(jiǎn)介 1.1. Git的誕生1.2.集中式的vs分布式 二、安裝Git 三、創(chuàng)建版本庫(kù) 四、...
    曹淵說(shuō)創(chuàng)業(yè)閱讀 965評(píng)論 0 2
  • 我的毛病太多,改了舊的來(lái)了新的,原來(lái)我愛(ài)惹事,不合心意,隨即生非,還好,我一向活在自己的世界里,對(duì)于異...
    悠然_3c09閱讀 283評(píng)論 0 2
  • 這是個(gè)糾結(jié)的時(shí)代,這是個(gè)物欲過(guò)剩的時(shí)代,這是個(gè)欲哭無(wú)淚的時(shí)代。站在2016的終點(diǎn),回望這荒唐的一年,我可以自豪地說(shuō)...
    李煜垚閱讀 141評(píng)論 0 0
  • 深夜聽(tīng)著歌,突然想寫(xiě)下畢業(yè)3個(gè)月身邊發(fā)生的這些事,過(guò)去快樂(lè)無(wú)憂(yōu)無(wú)慮的24年在畢業(yè)這一刻截然而止,但是又總有所得… ...
    一只dog閱讀 271評(píng)論 0 0
  • 安娜·鮑格麗娜婭的教練安娜·塔薩雷娃接受記者采訪時(shí)表示,現(xiàn)在還不知道如何去哪里治療嚴(yán)重的背傷。在加拿大站的比賽中,...
    云游四方的旅人閱讀 395評(píng)論 0 0