天天看點

git reset 記錄復原

一般的版本復原都是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