[Git]如何撤销上次commit
生活随笔
收集整理的這篇文章主要介紹了
[Git]如何撤销上次commit
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有的時候我們將某次修改commit了之后,突然想在其中某個文件中加點注釋或去掉一些調試的log,但是又不想增加commit記錄,那該怎么做呢?
reset參數
-q, --quiet 安靜模式,只報告錯誤--mixed 重置 HEAD 和索引--soft 只重置 HEAD--hard 重置 HEAD、索引和工作區--merge 重置 HEAD、索引和工作區--keep 重置 HEAD 但保存本地變更-p, --patch 交互式挑選數據塊下面以mixed參數為例
① 第一種情況:已commit但未push
git log查看commit記錄
使用命令撤銷:git reset --mixed HEAD~1或者git reset --mixed HEAD^
software006@software005:~/workdir/xxx-xxx$ git reset --mixed HEAD~1 重置后取消暫存的變更: M frameworks/base/api/current.txt M frameworks/base/api/system-current.txt M frameworks/base/api/test-current.txt M packages/apps/Launcher3/src/com/android/launcher3/Launcher.java再次Git log查看
software006@software005:~/workdir/xxx-xxx$ git log commit 5eb959980dc3f76e1238de0f249497e18ce61f4b Author: xxx <xxx.com> Date: Wed Oct 21 11:51:10 2020 +0800git test1對比可以看出,最新一次的commit信息不存在了,Git status查看
software006@software005:~/workdir/xxx-xxx$ git status 位于分支 xxxx 您的分支與上游分支 'xxxx' 一致。尚未暫存以備提交的變更:(使用 "git add <文件>..." 更新要提交的內容)(使用 "git checkout -- <文件>..." 丟棄工作區的改動)修改: frameworks/base/api/current.txt修改: frameworks/base/api/system-current.txt修改: frameworks/base/api/test-current.txt修改: packages/apps/Launcher3/src/com/android/launcher3/Launcher.java未跟蹤的文件:(使用 "git add <文件>..." 以包含要提交的內容)build.logout/修改尚未加入提交(使用 "git add" 和/或 "git commit -a")②第二種情況:已push
如果是已經push到遠程,也是上面同樣的操作,但是push到遠程時要加上-f
git push origin 分支名 -f
簡單來說就是
–mixed參數,不刪除工作區改動代碼,撤銷git commit,撤銷git add
–soft參數, 不刪除工作區改動代碼,撤銷git commit ,不撤銷git add
–hard,–merge, 刪除工作區改動代碼,撤銷git commit,撤銷git add,直接恢復到上一次的commit狀態
總結
以上是生活随笔為你收集整理的[Git]如何撤销上次commit的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯低代码平台正式开源!可拖拽、生成手机
- 下一篇: 【xlsx-chart】Vue项目中导出