git commit后,如何撤銷commit和git撤銷push


修改了本地的代碼,然后使用:

git add file
git commit -m '修改原因'

執行commit后,還沒執行push時,想要撤銷這次的commit,該怎么辦?

解決方案:
使用命令:

git reset --soft HEAD^

這樣就成功撤銷了commit,如果想要連着add也撤銷的話,--soft改為--hard(刪除工作空間的改動代碼)。

命令詳解:

HEAD^ 表示上一個版本,即上一次的commit,也可以寫成HEAD~1
如果進行兩次的commit,想要都撤回,可以使用HEAD~2

--soft
不刪除工作空間的改動代碼 ,撤銷commit,不撤銷git add file

--hard
刪除工作空間的改動代碼,撤銷commit且撤銷add

另外一點,如果commit注釋寫錯了,先要改一下注釋,有其他方法也能實現,如:

git commit --amend
這時候會進入vim編輯器,修改完成你要的注釋后保存即可。

 
 
同樣

有時候push到了github后,發現剛剛提交的commit有問題,如何撤銷操作呢

首先,在本地回退版本,使用如下命令:
git reset --hard HEAD^
^的個數表示回退幾個版本,^^表示回到上上個版本。

然后,強制push:
git push origin HEAD --force

 


原文鏈接:https://www.jianshu.com/p/a9f327da3562
原文鏈接:https://blog.csdn.net/chenyiyue/article/details/79461624


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM