一、revert
1、查看本地commit纪录
>git log
commit b1d91e7b5285042c42701bb7f31526efa2cb162b (origin/dev)
Author: fanmu <xxx@qq.com>
Date: Wed Jan 23 13:35:06 2019 +0800
xxxxxx
commit dd80169c60b03879858d43d4b841eadd725033cb
Author: stone <xxx@163.com>
Date: Wed Jan 23 11:52:31 2019 +0800
xxxxxx
2、revert:回退远程分支的某次提交
>git revert b1d91e7b5285042c42701bb7f31526efa2cb162b
[dev b272b0d] Revert "xxxxx"
8 files changed, 164 insertions(+), 55 deletions(-)
3、查看revert后的log
>git log
commit b272b0d51de432d6ef20f8013c79bbe9488d4a29 (HEAD -> dev)
Author: stone <xxxx@163.com>
Date: Wed Jan 23 14:46:39 2019 +0800
Revert "xxxxx"
This reverts commit b1d91e7b5285042c42701bb7f31526efa2cb162b.
commit b1d91e7b5285042c42701bb7f31526efa2cb162b (origin/dev)
Author: fanmu <xxxx@qq.com>
Date: Wed Jan 23 13:35:06 2019 +0800
xxxxx
commit dd80169c60b03879858d43d4b841eadd725033cb
Author: stone <xxxx@163.com>
Date: Wed Jan 23 11:52:31 2019 +0800
xxxx
二、reset
reset回退的是本地分支,而且是直接把某次commit给撤销掉,不像revert那样产生一次新的commit,该commit的内容是撤销上一次的提交,注意:git reset xxx参数是要撤销到的版本的hashcode
>git reflog
ff421cf HEAD@{0}: checkout: moving from master to develop
efaaa61 HEAD@{1}: checkout: moving from develop to master
>git reset hashcode;
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git log -2
commit 850770dd060dc59ee78ab5223ff501563aa67736
Author: xxx <xxx.com>
Date: Wed Jun 7 10:08:14 2017 +0800
del b
commit e5ef718d32687acd3ad541f5eae454c513390acb
Author: xxx <xxx.com>
Date: Wed Jun 7 10:07:41 2017 +0800
b
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git reset --soft 850770dd060dc59ee78ab5223ff501563aa67736
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git log -1
commit e5ef718d32687acd3ad541f5eae454c513390acb
Author: xxx <xxx.com>
Date: Wed Jun 7 10:07:41 2017 +0800
b