git reset 和 git revert 是两个用于撤销提交历史的 Git 命令,它们的主要区别在于:
1、git reset:

  • 作用:用于将当前分支的 HEAD 指针移动到另一个位置,通常是将其重置到之前的提交上。
  • 影响:重置会修改历史记录,因此需要谨慎使用,特别是在公共分支上,因为它会使得一些提交不可访问,从而可能丢失历史数据。
  • 使用场景:通常用于撤销本地的提交或调整分支历史。
    具体用法包括:
  • git reset --soft :移动 HEAD 到指定的 ,保留暂存区和工作目录的修改。
  • git reset --mixed :默认行为,移动 HEAD 到指定的 ,重置暂存区,但不改变工作目录的文件。
  • git reset --hard :移动 HEAD 到指定的,重置暂存区和工作目录,慎用,因为会清除未提交的修改。
    这里提到的commit可以git log命令获取
    2、 git revert:
  • 作用:创建一个新的提交,撤销一个或多个已经存在的提交的更改。
  • 影响:不会修改历史记录,而是将撤销的更改作为新的提交保存下来。
  • 使用场景:适合在公共分支上撤销已经提交的更改,因为它不会影响其他开发者已有的工作。

使用方法为:

  • git revert :撤销指定 引入的更改,并创建一个新的提交来应用这些撤销更改。

总结:

  • 如果你需要撤销一些提交并且不希望影响历史记录,应该使用 git revert。
  • 如果你需要移动分支的 HEAD
    指针来调整历史记录或者撤销本地的未提交更改,可以考虑使用 git reset,但需注意可能造成历史数据的丢失或修改。

在任何情况下,都建议在操作 Git 命令时,特别是对公共分支进行修改时,谨慎小心,以避免意外的数据丢失或冲突。

感谢阅读,觉得对你有帮助的话点点关注点点赞,谢谢!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部