使用 reset 与 revert
reset 和 revert 都是撤销提交的命令,但用途和影响不同。
git reset
reset 会移动当前分支的指针,改变提交历史。
--soft:只移动指针,保留暂存区和工作区改动。--mixed(默认):移动指针,取消暂存但保留工作区改动。--hard:移动指针,删除暂存区和工作区的改动。
示例:
git reset --hard HEAD~1
将当前分支回退一个提交,删除改动。
⚠️ 不推荐在公共分支对外推送的提交使用,以免破坏协作。
git revert
revert 是生成一个新的提交,撤销指定提交的改动,不修改历史。
示例:
git revert <提交哈希>
适用于公共分支,安全撤销已发布的提交。
总结
reset:改写历史,适合本地私有分支。revert:安全撤销,适合公共分支。
合理选择命令,保障版本管理安全与协作顺畅。
相关内容
- Git Hooks 自动化 本章介绍 Git Hooks 的概念与使用,帮助实现提交前检查、自动化脚本执行等功能,提高开发效率和代码质量。
- Git 子模块 本章介绍 Git 子模块的概念和使用方法,帮助管理包含其他 Git 仓库的项目依赖,提高代码复用性。
- 使用标签(Tag) 本章介绍 Git 标签(Tag)的使用方法,包括创建、查看和删除标签,用于标记重要版本节点。
- 常用图形工具与平台 本章介绍常用的 Git 图形界面工具和托管平台,帮助用户更直观地管理代码和协作开发。
- Git 命令速查表 本章提供常用 Git 命令速查表,方便快速查询和使用,提高工作效率。
- 常用配置模板 本章汇总常用的 Git 配置模板,帮助用户快速设置和优化 Git 使用体验。