三步學會reset和revert回滾,撤銷revert
阿新 • • 發佈:2018-12-15
revert
$ git revert commit id
$ git commit
$ git push
reset 慎用
$ git reset --hard commit id
$ git push -f
線上revert了部分功能,但是現在又要恢復了怎麼辦?
revert的時候會產生記錄,生成commit ID。revert後就無法提交之前revert的內容了,因為記錄上有相同的commit id。所以恢復程式碼只需要!!!!嗯,再執行一下revert 即可。
$ git revert commit id
$ git commit
$ git push
小小總結說明下
<commit id> 每次commit的SHA1值. 可以用git log 看到,也可以在頁面上commit標籤頁裡找到.
revert撤銷:
一個提交的同時會建立一個新的提交。這是一個安全的方法,因為它不會重寫提交歷史。你會在git log清楚的看到你回滾的操作所影響的程式碼,並且會產生一個新的commit id。
總結就是:用一個新提交來消除一個歷史提交所做的任何修改,記錄明確。
reset撤銷:
回退一個版本,清空暫存區,將已提交的內容的版本恢復到本地,本地的檔案也將被恢復的版本替換。當檢測到檔案路徑時,git reset
將快取區同步到你指定的那個提交
總結就是:徹底回退到某個版本,本地的原始碼也會變為上一個版本的內容,無記錄。