1. 撤銷(xiāo)操作技巧
任何時(shí)候,你都有可能需要撤消剛才所做的某些操作屎勘。本段總結(jié)git中常用的撤銷(xiāo)操作:
修改最后一次提交(commit)
- 提交信息寫(xiě)錯(cuò)了
有時(shí)候我們提交完了才發(fā)現(xiàn)提交信息寫(xiě)錯(cuò)了嬉荆。想要撤消剛才的提交操作钉稍,可以使用--amend
選項(xiàng)重新提交:
$ git commit --amend
如果剛才提交完沒(méi)有作任何改動(dòng)焙畔,直接運(yùn)行此命令的話(huà)捎琐,相當(dāng)于有機(jī)會(huì)重新編輯提交說(shuō)明蓄髓。
- 有時(shí)候我們提交完了才發(fā)現(xiàn)漏掉了幾個(gè)文件沒(méi)有加叉庐,可以先補(bǔ)上暫存操作,然后再運(yùn)行 --amend 提交:
$ git commit -m 'initial commit' #這是第一次提交会喝,提交后發(fā)現(xiàn)漏東西了
$ git add forgotten_file
$ git commit --amend
啟動(dòng)文本編輯器后陡叠,會(huì)看到上次提交時(shí)的說(shuō)明玩郊,編輯它確認(rèn)沒(méi)問(wèn)題后保存退出,就會(huì)使用新的提交說(shuō)明覆蓋剛才失誤的提交枉阵。上面的三條命令最終只是產(chǎn)生一個(gè)提交译红,第二個(gè)提交命令修正了第一個(gè)的提交內(nèi)容。
取消已經(jīng)暫存的文件
有修改過(guò)的文件不小心用 git add
加到了暫存區(qū)域兴溜。該如何撤消暫存其中的一個(gè)文件呢临庇?
可以使用 git reset HEAD <file>
的方式取消暫存。
取消對(duì)文件的修改
如果覺(jué)得剛才對(duì) 一個(gè)文件的修改完全沒(méi)有必要昵慌,該如何取消修改假夺,回到之前的狀態(tài)(也就是修改之前的版本)呢?
可以使用拋棄文件修改的命令:git checkout -- <file>
斋攀,這條命令有些危險(xiǎn)已卷,所有對(duì)文件的修改都沒(méi)有了,因?yàn)槲覀儎倓偘阎鞍姹镜奈募?fù)制過(guò)來(lái)重寫(xiě)了此文件淳蔼。所以在用這條命令前侧蘸,請(qǐng)務(wù)必確定真的不再需要保留剛才的修改。
2. 命令行縮寫(xiě)偷懶技巧
在git中有一些非常常用的命令鹉梨,如git status
讳癌、git commit
等,打這些命令的時(shí)候如果想偷懶少敲幾個(gè)命令的字符存皂,可以用 git config 為命令設(shè)置別名晌坤。來(lái)看看下面的例子:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
現(xiàn)在,如果要輸入 git commit 只需鍵入 git ci 即可旦袋。而隨著 git 使用的深入骤菠,會(huì)有很多經(jīng)常要用到的命令,遇到這種情況疤孕,不妨建個(gè)別名提高效率商乎。