教程 git tutorial

使用 reset 与 revert

reset 和 revert 都是撤销提交的命令,但用途和影响不同。

git reset

reset 会移动当前分支的指针,改变提交历史。

  • --soft:只移动指针,保留暂存区和工作区改动。
  • --mixed(默认):移动指针,取消暂存但保留工作区改动。
  • --hard:移动指针,删除暂存区和工作区的改动。

示例:

bash
git reset --hard HEAD~1

将当前分支回退一个提交,删除改动。

⚠️ 不推荐在公共分支对外推送的提交使用,以免破坏协作。

git revert

revert 是生成一个新的提交,撤销指定提交的改动,不修改历史。

示例:

bash
git revert <提交哈希>

适用于公共分支,安全撤销已发布的提交。

总结

  • reset:改写历史,适合本地私有分支。
  • revert:安全撤销,适合公共分支。

合理选择命令,保障版本管理安全与协作顺畅。