# git revert 指令
## 參考資料:
* [git revert官方API](https://git-scm.com/docs/git-revert)
## 實踐總結:
* `git revert` 撤銷指定commit, 例如: 有commit1~commit10, 撤銷commit5的改動, 則commit6~commit10改動會保留;(所以實現效果上跟`git reset`還是有區別的)
## git revert 常用指令:
* git revert HEAD
* 撤銷上一次的commit;(會生成一新的commit, 執行成功將出現vi編輯界面,編輯新提交的注釋)
* git revert HEAD^
* git revert HEAD~1
* 撤銷前前一次的commit;(可能會出現沖突,需要解決沖突然后`git add` + `git commit`生成新的`commit`)
* git revert HEAD^^
* git revert HEAD~2
* 撤銷前三次的commit;(可能會出現沖突,需要解決沖突然后`git add` + `git commit`生成新的`commit`)
* git revert commitId(032c6df2ad8469fdb5235ce30f968474bd3bce01)
* 撤銷指定commit;(可能會出現沖突,需要解決沖突然后`git add` + `git commit`生成新的`commit`)
* git revert -m 1 0d1d7fc32
* 0d1d7fc32為合并分支的commitId,回退merge操作;
## 相關指令:
* [git reset的區別](https://github.com/wteam-xq/testGit/blob/master/learn_log/git_reset.md) 代碼撤銷(回退)指令: 我跟`git revert`不止長的像,實現的功能也差不多!