SilverIce Toolbox
Back to course

Stage 3 / Chapter 10

第 10 章:新手排错清单与安全习惯

学习目标

  • 建立遇到 Git 问题时的固定排查顺序。
  • 能读懂常见错误方向。
  • 形成低风险操作习惯。
  • 知道什么时候该停下来求助。

10.1 固定排查顺序

遇到任何 Git 异常,先不要连续试命令。按这个顺序收集信息:

Git Bash / macOS / Linux
git status
git branch --show-current
git log --oneline --decorate --graph --all -10
git remote -v

这四类信息分别回答:

  • 当前有没有未提交修改。
  • 我在哪个分支。
  • 最近历史长什么样。
  • 远端地址是否正确。

10.2 常见提示怎么理解

提示片段大概含义下一步
not a git repository当前目录不是仓库pwd,进入正确目录
working tree clean没有未提交修改可以切分支或拉取
untracked files有新文件未跟踪确认是否要 git add
merge conflict合并冲突按第 5 章处理
rejected non-fast-forward远端有你没有的提交fetch 和看历史

10.3 不要在慌乱中运行的命令

这些命令不是不能用,而是不应该在不理解后果时用:

Git Bash / macOS / Linux
git reset --hard
git clean -fd
git push --force
git rebase -i

执行前至少做一件事:

Git Bash / macOS / Linux
git branch backup-before-risky-command

这样即使做错,也还有一个分支指向原来的提交。

10.4 提交前清单

每天提交前可以按这个清单走:

  1. git status 确认文件范围。
  2. git diff 看未暂存修改。
  3. git add <file> 精确暂存。
  4. git diff --staged 看将要提交的内容。
  5. 运行必要测试。
  6. git commit -m "清晰说明"
  7. git log --oneline -3 确认历史。

10.5 协作时的安全规则

  • 不在共享主分支上直接开发。
  • 不把秘密、证书、token、.env 提交到仓库。
  • 不把格式化和业务修复混在同一个提交。
  • 不在不了解后果时强推。
  • 遇到冲突先理解两边意图,再编辑文件。
  • 让 PR 描述包含验证方式。

10.6 什么时候求助

出现这些情况时,停止继续尝试命令,先把信息发给同事:

  • 你已经推送了错误提交,想从远端删除历史。
  • 你运行了 reset --hard 后发现丢了重要修改。
  • 分支图看起来出现了很多重复提交。
  • 冲突涉及你不熟悉的业务逻辑。
  • 你不确定某个文件是否包含秘密。

求助时附上:

Git Bash / macOS / Linux
git status
git log --oneline --decorate --graph --all -20
git remote -v

不要截图一半终端,也不要只说“Git 坏了”。

本章练习

  1. 在练习仓库里制造一个未暂存修改。
  2. 按提交前清单完成一次提交。
  3. 创建备份分支 backup-demo
  4. 查看最近 10 条图形历史。
  5. 写一段说明:如果推送被拒绝,你会怎么排查。

检查点

  • 你有固定排查顺序。
  • 你知道高风险命令前先建备份分支。
  • 你能把 Git 问题描述为状态、分支、历史、远端,而不是只描述情绪。