Skip to content
0

Git 回滚 + 备份分支操作指南(实战版)

🎯 使用场景

当你遇到:

  • 想回退到某个历史版本
  • 但又不想丢掉当前修改
  • 想保留“实验代码 / 临时修复”

👉 使用本指南


🧠 核心思路

text
保留当前 → 开分支
回退主线 → reset

✅ 标准操作流程(推荐)

🥇 第一步:先备份当前代码

bash
git branch backup-before-reset

🥈 第二步:回退到指定 commit

bash
git reset --hard <commit_id>

例如:

bash
git reset --hard 9b7579187f3e93bd82465e86e9099a2a20cb23f5

🥉 第三步:确认状态

bash
git log --oneline -n 3

🚨 如果已经 reset(补救方案)

查看操作历史

bash
git reflog

示例

text
74c97b9 HEAD@{1}: commit: fix 临时修复
9b75791 HEAD@{0}: reset: moving to xxx

从历史恢复为分支

bash
git checkout -b temp-backup 74c97b9

🧩 分支结构建议

分支名用途
master / main稳定版本
temp-backup临时保存
feature-xxx功能开发
fix-xxxBug 修复

🚀 推送到远程

推送临时分支

bash
git push origin temp-backup

强制回滚主分支(慎用)

bash
git push -f origin master

🧠 常见错误

❌ 直接 reset 不备份

后果:只能通过 reflog 找回


❌ 删除单个 node_modules 包

正确方式:

bash
rm -rf node_modules

❌ npm / pnpm 混用

建议统一一个包管理器


🧰 常用命令速查

查看历史

bash
git log --oneline

查看操作历史

bash
git reflog

新建分支

bash
git checkout -b 分支名

回退版本

bash
git reset --hard commit_id

恢复文件

bash
git checkout commit_id -- .

🎯 推荐工作流

text
开发 → 不满意

git branch backup

git reset --hard 某版本

需要旧代码 → 从 backup 分支取

💡 总结

reset 前先 branch,后悔永远有路

最近更新

基于 VitePress + Teek 主题构建