git commit之後,想撤銷commit

commit代碼之後,發現多commit了一點代碼,想撤回commit的代碼,突然發現自己不會這個命令,遂進行了谷歌百度。找到一篇閱讀量11W+的博客,那就是他了
按照步驟:
1、找到之前提交的git commit的id ,git log
2、git reset --hard id
3、git reset id

操作完之後,我特,,,本地修改的代碼全沒了!!!巨坑啊

正確的操作:

1、如果想撤銷commit,同時保留git add

git reset --soft HEAD^

2、刪除工作空間改動代碼,撤銷commit,撤銷git add .
注意:完成這個操作後,就恢復到了上一次的commit狀態。

git reset --hard HEAD^

3、不刪除工作空間改動代碼,撤銷commit,並且撤銷git add .
此爲默認方式,不帶任何參數的git reset,即時這種方式

git reset --mixed HEAD^   和 git reset HEAD^  一樣

HEAD^的意思是上一個版本,也可以寫成HEAD~1
如果你進行了2次commit,想都撤回,可以使用HEAD~2

我想撤回commit操作,同時保留add.,親測這兩種方式有效

git reset --soft HEAD^
git reset --soft commit_id(這個id不是你剛剛commit的id,是之前成功push的那個commitid)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章