四、Git命令篇:撤銷操作
撤消操作
任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。
修改最後一次提交
有時我們提交完了才發現漏掉了幾個檔案沒有加,或者提交資訊寫錯了。想要撤消剛才的提交操作,可以使用 --amend 選項重新提交:
$ git commit --amend
如果剛才提交完沒有作任何改動,直接執行此命令的話,相當於有機會重新編輯提交說明,但將要提交的檔案快照和之前的一樣。啟動文字編輯器後,會看到上次提交時的說明,編輯它確認沒問題後儲存退出,就會使用新的提交說明覆蓋剛才失誤的提交。
如果剛才提交時忘了暫存某些修改,可以先補上暫存操作,然後再執行 --amend 提交:
$ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend
上面的三條命令最終只是產生一個提交,第二個提交命令修正了第一個的提交內容。
取消已經暫存的檔案
$ git reset HEAD zhouyou.txt
取消已經佔存的zhouyou.txt檔案,現在檔案又回到了之前已修改未暫存的狀態。
取消對檔案的修改
如果覺得剛才對 zhouyou.txt的修改完全沒有必要,該如何取消修改,回到之前的狀態(也就是修改之前的版本)呢?
$ git checkout --zhouyou.txt
回退至指定版本
$ git reset --hard HEAD^ $ git reset --hard HEAD^^ $ git reset --hard HEAD~100 $ git reset --hard commit id
其中,commit id 可通過git log獲取