情景1:在本地分支寫了半天,然後git commit 提交了,剛要準備push,才發現在master分支開發的,怎麼辦?
git reset HEAD~ 或者 git reset HEAD~1
這樣 剛剛提交的就又回到本地的local changes 列表中。繼續 切換分支,重新提交就可以了。
如果你提交了多個commit,那麼可以通過修改HEAD~之後的數字,來撤銷前N次的commit。
注:使用此命令,你原來提交的代碼都在,不會被撤銷
情景2:如果你使用了多次git commit命令,但是發現剛剛commit的內容不需要提交了,需要恢復到上一次的commit時,怎麼辦?
git reset --hard HEAD^1
注:使用了之後,你最新的commit命令下修改的內容將完全被撤銷。