---
title: "第 3 周上机：常见问题"
---

# 🛠 第 3 周上机：常见问题

安装、登录、模型接入类的报错，先查[第 1 周的《常见问题》](/materials/2026-autumn/w01/faq)；权限模式、找不到文件、`CLAUDE.md` 不生效，查[第 2 周的](/materials/2026-autumn/w02/faq)。这里收 Git 和数据简报项目里容易卡住的地方。每条写现象、原因、怎么办。

## 配置与终端

### 1. 第一次提交被拦下：`Author identity unknown`

**现象**：Claude Code 报告提交失败，或终端里出现：

```txt
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
```

**原因**：Git 要在每条记录上写下作者，还没告诉它你是谁。

**怎么办**：照它给的两行运行一次，引号里换成自己的名字和邮箱，再让 Claude Code 重新提交。`--global` 表示这台电脑上所有仓库都用这一组。运行 `git config --global --list` 能看到这两项。

### 2. `'git' 不是内部或外部命令` / `'git' is not recognized`

**现象**：Windows 上装完 Git，终端里 `git --version` 找不到命令。

**原因**：九成是终端没重开，旧窗口没有读到新的路径设置。

**怎么办**：关掉所有终端窗口（VS Code 里的终端也关），重开一个再试。是关掉重开，不是刷新。仍不行，见第 1 周《常见问题》3.1。

### 3. 中文文件名显示成 `"\346\225\260\346\215\256..."`

**现象**：`git status` 或 Claude Code 的报告里，中文文件名变成一串反斜杠加数字，外面带引号。

**原因**：Git 默认把非英文字符当作“异常字符”，用八进制转义显示。文件本身没有问题。

**怎么办**：

```bash
git config --global core.quotepath false
```

之后中文照常显示。Windows 的 PowerShell 或 CMD 里若仍是乱码（不是反斜杠，是问号或方块），那是终端编码的事，改用 Git Bash 或 VS Code 终端。

### 4. `LF will be replaced by CRLF`

**现象**：Windows 上提交时出现：

```txt
warning: in the working copy of '协作记录/任务说明.md', LF will be replaced by CRLF the next time Git touches it
```

**原因**：Windows 和 Mac 的换行符不同，Git for Windows 默认在两者之间转换，这是提醒不是错误。

**怎么办**：不用处理。Markdown、HTML、CSV 都不受影响，提交照常完成。Mac 上一般不会出现。

### 5. `git init` 之后提示 `Using 'master' as the name for the initial branch`

**现象**：开启版本记录时出现一段黄色的 `hint:`，说初始分支叫 `master`，建议配置 `init.defaultBranch`。

**原因**：没有运行“开始之前”里的第四条配置。

**怎么办**：这个练习不涉及分支，叫 `master` 还是 `main` 不影响任何练习。想统一的，运行 `git config --global init.defaultBranch main`，对以后新建的仓库生效；已经建好的这个仓库不用动。

## 面板与状态

### 6. 源代码管理面板里看不到 `M`、`U` 标记

**现象**：面板是空的，或者显示“初始化仓库”按钮，或者列出一大堆不相干的文件。

**原因**：三种可能：还没开启版本记录；VS Code 打开的是上级文件夹而不是项目文件夹；项目文件夹的上级已经是一个仓库。

**怎么办**：

- 面板显示“初始化仓库”按钮：还没 `git init`，回到手册第一步第三句话。
- VS Code 标题栏或资源管理器顶部显示的文件夹名不是你的项目文件夹（例如 `实习岗位简报`）：“文件 → 打开文件夹”重新选中项目文件夹。
- 列出了项目之外的文件：让 Claude Code 跑 `git status`，看第一行报告的仓库在哪里；上级文件夹被当成了仓库的，找老师或助教处理，不要自己删 `.git/`。

### 7. `git status` 里出现了原始资料文件夹（例如 `岗位样本数据/`）的文件

**现象**：Claude Code 报告会记录 `岗位样本数据/实习岗位样本_2026春.csv`（或你的课程原始资料），或面板“更改”列表里有原始资料文件夹下的文件。

**原因**：`.gitignore` 写错、放错了位置，文件名不对，或最后一行写的文件夹名和你实际建的不一样。

**怎么办**：

1. 确认文件在项目根目录，名字是 `.gitignore`，开头是英文句点，没有 `.txt` 后缀。Windows 在文件资源管理器“查看”菜单里勾选“文件扩展名”和“隐藏的项目”后再看。
2. 打开它，和手册第一步的七行逐行对：最后一行要和你的原始资料文件夹名一字不差（例如 `岗位样本数据/`、`课程原始资料/`），末尾要有斜杠。
3. 还没提交的，改好 `.gitignore` 后 `git status` 就不再列出它们。已经把原始资料提交进去的，让 Claude Code“把 岗位样本数据/ 从版本记录里移除，但保留硬盘上的文件，先告诉我会执行什么命令”（文件夹名换成你的），确认后再执行，然后再提交一次。
4. 让它跑 `git check-ignore -v 岗位样本数据/实习岗位样本_2026春.csv`（路径换成你的文件），能指出是 `.gitignore` 的哪一行挡住了它；没有输出说明没被挡。

### 8. 面板里的文件标 `U`，另一个标 `M`，还有的没出现，分别是什么意思

**现象**：不同文件后面的字母不一样，有的文件改了却不在列表里。

**原因**：`U` 是还没被记录过的新文件；`M` 是记录过、这次又改了的文件；`A` 是已放进暂存区的新文件。改了却不出现的，是被 `.gitignore` 挡在外面的文件（例如原始资料文件夹里的，或导出的 PDF）。

**怎么办**：这就是“看状态”要看的东西。`git status` 的命令行版本把同样的信息分成三段：待提交的、已修改未暂存的、未跟踪的。进阶练习 `status-lab/` 专门练这个。

### 9. `git diff` 什么都不显示

**现象**：第三步让它跑 `git diff`，输出为空，但简报明明刚生成。

**原因**：`git diff` 比较的是已记录文件的改动；新建的、还没提交过的文件不在比较范围里。

**怎么办**：新文件在面板里点开看“打开更改”，整篇绿色就是它的全部内容。到第四步修改已提交的文件时，`git diff` 才会有红有绿。

## 提交

### 10. Claude Code 说要提交时弹出询问，选哪个

**现象**：它请求批准运行 `git add ...` 或 `git commit -m "..."`，选项里有“Yes”“Yes, and don't ask again”“No”。

**原因**：手动模式下，会改东西的 Git 命令每次都要你批准；`git status`、`git log`、`git diff` 不问。

**怎么办**：看清命令再选第一个 **Yes**（只允许这一次）。看两件事：`git add` 后面跟的是你要提交的文件，不是原始资料文件夹；`git commit` 的说明是你要求的内容。带 `don't ask again` 的选项会把批准永久记进 `.claude/settings.local.json`，练习中不选。命令里出现 `git reset --hard`、`git push`、`git clean` 的，选 No。

### 11. 提交后发现少提交了一个文件

**现象**：`git status` 里还有一个文件标 `M` 或 `U`，刚才那次提交没带上它。

**原因**：它只提交了报告里的文件，或者你在它提交后又改了东西。

**怎么办**：再提交一次，说明写清补的是什么，例如“补交：检查记录”。多一条提交没有坏处。先确认那个文件不是被白名单挡住的类型（`.md`、`.html` 才进仓库）。

### 12. 提交说明写错了，怎么改

**现象**：主题打错字，或者两段正文写反了。

**原因**：提交一旦写进历史，说明就跟着那条记录。

**怎么办**：不改历史。在 `协作记录/决策日志.md` 里加一行“提交 ____ 的说明有误，应为 ____”，再提交一次。网上教的 `--amend` 会改写历史，这里不用。

### 13. 它想一次跑 `git add .` 加 `git commit`，或者想把好几件事塞进一次提交

**现象**：你要求提交任务说明，它把简报的改动也一起提交了；或者它一条命令里同时 `add` 和 `commit`。

**原因**：它默认“把当前所有改动提交”，不知道你想分开。

**怎么办**：提交前说清范围：“只提交 协作记录/任务说明.md 和 CLAUDE.md，其他文件留着”。一次提交对应一个能说清的目标，这样 `git log --oneline` 念出来才是一段有顺序的话。

## 回退

### 14. `restore` 之后改动没了，能找回吗

**现象**：让它丢弃某个文件没提交的改动，执行后才想起里面有一段还要用。

**原因**：`git restore <文件>` 用上次提交的版本覆盖工作区，被覆盖的内容不在任何记录里。

**怎么办**：`git restore` 找不回来，这是它不可逆的原因，也是手册要求“先报告、再执行”的原因。以后凡是可能还要用的改动，先提交再试别的。本课不用面板的“放弃更改”按钮；若不小心点过它，VS Code 会把丢弃的内容放进回收站（Windows）或废纸篓（Mac），可以捞回。

### 15. `/rewind` 之后有的文件没变回来

**现象**：在 Claude Code 里按两次 `Esc` 回退到前一句，简报的改动回去了，但它用命令删掉或移动的文件没有恢复；或者提示 `No files were restored`。

**原因**：会话回退只记录 Claude 用编辑工具改过的文件。它用命令（`rm`、`mv`、`cp`）动过的、你自己在 VS Code 里改的、上一次会话改的，都不在里面；检查点约 30 天后清理。

**怎么办**：这种情况用 Git：已提交过的版本用 `git restore --source=<哈希> -- <文件>` 取回。官方文档写明 `/rewind` 不替代版本控制。

### 16. 它提议用 `git reset --hard` 回退

**现象**：让它撤销上一次提交，它的方案是 `git reset --hard HEAD~1`。

**原因**：`reset --hard` 也能回到旧版本，但会把那之后的提交和没提交的改动一起抹掉。

**怎么办**：拒绝，告诉它“不要 reset，用 revert，历史要保留”。合格的方案是 `git revert <哈希>`，新增一条提交抵消旧的，`git log` 里两条都在。

### 17. 想删掉整个 `.git/` 重来，可以吗

**现象**：提交乱了，想把版本记录清空从头开始。

**原因**：`.git/` 就是全部历史，删掉它等于把七步的记录一起扔掉。

**怎么办**：可以，但先想清楚要解决的是什么。丢一处没提交的改动，用 `restore`；撤一次提交，用 `revert`；少提交了文件，再提交一次。这三种都不需要重来。确实要重来的，先把整个项目文件夹复制一份留底。`.git/` 是隐藏目录，Windows 要勾选“隐藏的项目”才看得见。

## 简报

### 18. 简报打开后图表不显示

**现象**：浏览器里能看到标题和文字，图的位置是空白；或者联网时正常，断网后图消失。

**原因**：它引用了网上的图表库（`<script src="https://...">`），页面每次打开都要联网下载。任务说明里“不联网也能打开”就是为了挡这种写法。

**怎么办**：让它检查并改掉：“检查 简报成品/简报.html 里 http 或 https 开头的引用，逐条列出来；然后把图表改成内嵌 SVG 或把数据直接写在文件里，不引用外部文件。改完先不要提交，告诉我改了什么。”改完再断网测一次。这轮改动值得单独一次提交。

### 19. 简报里的数字和数据表对不上

**现象**：你按城市筛出的行数和图上的数字差几条。

**原因**：多半是口径：“面议”的岗位有没有算进薪资图；编号不同、其余字段相同的岗位有没有重复计。也可能是它数错了，或用了别的分组。自选材料的同学同理：先看它有没有按你材料里的定义和范围数。

**怎么办**：先读 `口径与要求/口径说明.md`，按口径自己数一遍；再让它列出计算过程（手册第四步第一句话），找出差在哪一步。差异写进 `协作记录/检查记录.md`，作为修改意见。它说“已核对无误”不算数，你数的才算。

### 20. Word、Excel 文件在面板里显示“二进制文件”，看不了差异

**现象**：把 `.docx` 或 `.xlsx` 放进项目，面板点开只显示“二进制文件”或“无法比较”。

**原因**：这类文件不是逐行的文本，Git 没法告诉你改了哪一行，只能整份替换。

**怎么办**：这是原稿用 Markdown 和 HTML、图表内嵌在 HTML 里的原因。本周的白名单不收这类文件；确实要保存的，放在原始资料文件夹或 `简报成品/导出/`，不进仓库。老师的 PPT、PDF 课件放在 `课程原始资料/` 里就是这种情况：能读，不进仓库。

### 21. 同一个项目文件夹开了两个 Claude Code 会话

**现象**：两个终端窗口都在这个项目里运行 `claude`，一个改完的文件被另一个改回去了。

**原因**：两个会话各自记着自己看到的文件内容，互相不知道对方改了什么。

**怎么办**：关掉一个。一个项目文件夹同一时间开一个会话；要换任务就 `/exit` 再启动。
