第 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 提交前清单
每天提交前可以按这个清单走:
git status确认文件范围。git diff看未暂存修改。git add <file>精确暂存。git diff --staged看将要提交的内容。- 运行必要测试。
git commit -m "清晰说明"。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 坏了”。
本章练习
- 在练习仓库里制造一个未暂存修改。
- 按提交前清单完成一次提交。
- 创建备份分支
backup-demo。 - 查看最近 10 条图形历史。
- 写一段说明:如果推送被拒绝,你会怎么排查。
检查点
- 你有固定排查顺序。
- 你知道高风险命令前先建备份分支。
- 你能把 Git 问题描述为状态、分支、历史、远端,而不是只描述情绪。