git 撤銷操作

修改最后一次提交

有時(shí)候我們提交完了才發(fā)現(xiàn)漏掉了幾個文件沒有加,或者提交信息寫錯了。想要撤消剛才的提交操作,可以使用 --amend選項(xiàng)重新提交:

$ git commit --amend

此命令將使用當(dāng)前的暫存區(qū)域快照提交。如果剛才提交完沒有作任何改動,直接運(yùn)行此命令的話,相當(dāng)于有機(jī)會重新編輯提交說明,但將要提交的文件快照和之前的一樣。

取消已經(jīng)暫存的文件
git reset HEAD <file>...的方式取消暫存
取消對文件的修改
use "git checkout -- <file>..." to discard changes in working directory

可以看到,該文件已經(jīng)恢復(fù)到修改前的版本。你可能已經(jīng)意識到了,這條命令有些危險(xiǎn),所有對文件的修改都沒有了,因?yàn)槲覀儎倓偘阎鞍姹镜奈募?fù)制過來重寫了此文件。所以在用這條命令前,請務(wù)必確定真的不再需要保留剛才的修改。如果只是想回退版本,同時(shí)保留剛才的修改以便將來繼續(xù)工作,可以用下章介紹的 stashing 和分支來處理,應(yīng)該會更好些。

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

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

  • 譯自:Github JF杰微刊:如何在Git中撤銷一切 任何一個版本控制系統(tǒng)中,最有用的特性之一莫過于“撤銷(un...
    微笑0619閱讀 2,251評論 0 4
  • git checkout -- filename 將工作區(qū)的修改后的文件回退到上一個工作區(qū)文件版本狀態(tài)(即該文件沒...
    楓葉魚水閱讀 6,340評論 0 1
  • 很容易就忐忑不安, 有可能是貪心泛濫。 很難放假兩三天, 如果放得下攀比,吃飯。 要快樂有時(shí)候很難, 煩惱能追溯到...
    Myanata閱讀 246評論 0 0
  • 連一場婚禮都要這么卑微的去羨慕……到了這個年紀(jì)真的只能談一場跟戀愛無關(guān)的婚姻了嗎?有時(shí)候開始懷疑自己一輩子也得不到...
    小象的簡書閱讀 177評論 0 0