1,commit 之前的撤銷 未添加至暫存區的撤銷(add 之前) git status git checkout . 已添加至暫存區的撤銷(add 之后,有或者沒有commit操作都可以執行) git reflog
git reset --hard bca6882(relog 中展示的commitId) 2,push之后的撤銷 ( git add . git commit -m "commit" git push origin brandname ) 等一系列操作后的撤銷 不想將本次的操作生效 git revert commitId(提交的id) git push origin brandname 此次操作就會撤銷掉上一次的push 在這個分支上,會生成一條revert 的提交記錄 revert 是負負得正,什么意思呢,就是說第一次revert的時候,
上一次push的命令就失效了,再一次revert 后,會回退到之前的之前的狀態,
詳細的介紹一下 比如我操作一個文件UserController.java 將userName 改為username 經過一系列的git操作 git add . git commit -m "commit" git push orgin 后,再進行git revert commitId 再進行git push origin branchname userName 還是userName, 如果我再revert 的時候, git revert git push origin branchname 將userName 還是改為username. 總結為: git revert 為奇數時生效,為偶數時,失效 3,git 回滾: 將git 回滾到某一次commit操作,在該commitId之前的操作,將全部失效(此方法不建議使用,有風險), git reset --hard commitId git push origin branchname --force (強制覆蓋)
因為是不可逆的,不建議使用