git回滾的幾種場景及操作命令

2021-07-28 20:59:42 字數 744 閱讀 4519

場景1: 本地還沒有commit

git stash 

git stash drop

場景2: 刪除未發布的提交

如果確定要刪除某幾個commit,並且那幾個commit的**還沒有提交到遠端版本庫里的話,945a2f9為要回到的版本

git stash

git reset --hard 945a2f9

git stash pop

reset –hard 一定要慎用!!

這回讓你徹底丟失本地的**(除非有備份過)

場景3:刪除已發布的提交

假設**已經提交到遠端版本庫了,這時應該使用revert命令,revert命令實際是提交乙個新的commit來回滾之前的commit。還是以945a2f9為例,現在想讓**會滾到945a2f9的狀態,那麼需要revert掉之前的commit

git revert e9d861e e565632 e1eccf9
或者可以這樣做,revert掉head的前三個commit

git revert head~3.

.head

之後就可以將現在的head push到版本庫了。

如果發現之前revert操作錯了,可以再執行一次revert來取消上次的revert。

Git 回滾操作

git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit git log 查詢回滾版本唯一commit標識 git reset hard head 3 會將最新的3次提交全部重置,就像沒有提交過一樣。mixed git reset 會保留原...

git 回滾操作

情況一 檔案被修改了,但未執行git add操作 working tree內撤銷 git checkout filename git checkout 情況二 同時對多個檔案執行了git add操作,但本次只想提交其中一部分檔案 git add git status 取消暫存 git reset h...

git回滾操作

今天刪除日誌時不小心把控制器刪除掉了 心裡一荒 不過還好 phpstorm 上面的git 有rollback 操作 不過 既然是用git 那如果使用命令改怎麼操作呢 第一種情況 就像上面說的 誤刪了檔案 但是還沒有提交的暫存區 git add git checkout filename 如 git ...