撤銷 git add 和 git commit 操作


1. 撤銷 git add

如果是撤銷所有的已經add的文件:

git reset HEAD -- .

如果是撤銷某個文件或文件夾:

git reset HEAD -- filename

2. 撤銷 git commit

git reset --soft HEAD^

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

其他參數解析:

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

  • --mixed
    不刪除工作空間改動代碼,撤銷commit,並且撤銷git add .
    這個為默認參數, git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一樣的。

  • --hard
    刪除工作空間改動代碼,撤銷commit,並且撤銷git add .

補充:如果該倉庫到目前為止只有commit過一次代碼,則會報錯:

$ git reset HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

參考文章

撤銷git add - SegmentFault 思否

git使用情景2:commit之后,想撤銷commit_星光的專欄-CSDN博客_git 撤銷commit


免責聲明!

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



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