git的回滾操作

2021-10-08 03:48:14 字數 1002 閱讀 5107

回滾其中的某個 commit

場景: 你已經執行了 git push, 把你的修改傳送到了遠端,但是這些 commit 中其中乙個是有問題的,你需要回滾那乙個 commit.

方法: git revert

原理: git revert 會產生乙個新的 commit,它和指定 sha 對應的 commit 是相反的(或者說是反轉的)。如果原先的 commit 是「物質」,新的 commit 就是「反物質」 —— 任何從原先的 commit 裡刪除的內容會在新的 commit 裡被加回去,任何在原先的 commit 裡加入的內容會在新的 commit 裡被刪除。

這是 git 最安全、最基本的撤銷場景,因為它並不會改變歷史 —— 所以你現在可以 git push 新的「反轉」 commit 來抵消你錯誤提交的 commit。

回滾到某個 commit

場景: 你已經執行了 git push, 把你的修改傳送到了遠端,但是這些 commit 都是有問題的,而且這些 commit 沒有合併線,你需要回滾到之前的 commit.(注:如果這些 commit 中有合併線,即有過其他合併,這個方法不適用)

方法: git revert head…

原理: git revert 會產生乙個新的 commit,它和指定 sha 對應的 commit 是相反的(或者說是反轉的)。如果原先的 commit 是「物質」,新的 commit 就是「反物質」 —— 任何從原先的 commit 裡刪除的內容會在新的 commit 裡被加回去,任何在原先的 commit 裡加入的內容會在新的 commit 裡被刪除。

這是 git 最安全、最基本的撤銷場景,因為它並不會改變歷史 —— 所以你現在可以 git push 新的「反轉」 commit 來抵消你錯誤提交的 commit。

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 ...