git进阶--5---git reset 和 git revert 的区别与联系
git进阶–5—git reset 和 git revert 的区别与联系
1. 相同点
- 都是对版本做出一些改变
2. 不同点
- git reset 是进行版本回退,根据不同的参数,是定是否复原索引和工作区
- git revert 是撤销上一次的提交,不会改变过去的历史,安全的取消过去发布的提交
3. 使用
- git reset可以指定ID,从指定的ID版本号开始回退,如果不指定,则从当前ID版本号开始回退
- 可以携带参数
- –mixed(默认参数),只回复到暂缓区
- –hard, 暂缓区和工作区都恢复
- –soft, 暂缓区和工作区都不会变化
- git revert
- git revert HEAD
- git revert HEAD^
4.使用场景
- 如果回退分支的代码以后还需要使用,只是回退一下,则使用git revert
- 如果分支是提错的,并且不想让别人知道只写错误代码,则使用git reset