一般的版本回滾都是push完以後發現有錯誤需要回滾,這裏要用到是git reset命令。該命令有3個參數,mixed,soft和hard,下面做簡單區別講解。
- –mixed
不刪除工作空間的改動代碼,撤銷 commit 和 add 操作。這個爲默認參數,git reset --mixed HEAD^
和git reset HEAD^
效果是一樣的。 - –soft
不刪除工作空間的改動代碼,撤銷commit,不撤銷add。 - –hard
刪除工作空間的改動代碼,撤銷 commit 和 add 操作,也就是全部刪除。 - 備註1:HEAD^的意思是上一個版本,也可以寫成HEAD~1,如果你進行了多次commit都想撤回,那就把1改成對應的次數。
- 備註2:HEAD^可以用 commit 的版本號直接替代,commit的版本號可以通過git log查看。
完成操作後,恢復到了什麼版本也可以用git log來查看。
確認回撤到你要版本以後,push的時候要用上–force參數,比如 git push --force
,此push的版本就能把中間要回滾的版本覆蓋掉。
最後,如果只是想改一下commit的註釋註釋信息,只需要執行如下命令,就會進入vim編輯器,修改保存即可。
git commit --amend