git命令reset和revert的区别
简介
git reset命令:将代码重置到指定版本,并抹去指定版本之后的所有提交记录;
适用场景:如果想恢复到之前的某个版本,并且那个版本之后提交的版本都不要了,则可使用git reset命令。
git revert命令:反做某一个版本,以达到撤销该版本修改的目的。
适用场景:如果我们想撤销之前的某一版本,但是又想保留这个版本之后的版本,则可以使用git revert反做指定版本。
从英文字面上理解:
reset:重置
revert:恢复、还原
git reset命令
将代码重置到指定版本,并抹去指定版本之后的提交记录;
命令:
git reset --hard commit_id
示例:将代码重置到commit_1版本,并且不保留之后提交的commit_2和commit_3版本。
如下图示:
(1)将代码重置至指定版本:
git reset --hard commit_id
(2)将变更强行推送至远程仓库:
git push -f
git revert命令
反做某一个版本,以达到撤销该版本修改的目的。
命令:
git revert commit_id
示例:如果我们想撤销commit_2,但又想保留commit_3版本,则可以对commit_2执行反向操作。
如下图示: