跳到主内容

course materials · 2026 秋季本科

常见问题

Week 3 · 2026-09-22 · 常见问题

返回本周材料

身份未配置、中文文件名显示八进制、CRLF 提示、原始资料进了状态、图表不显示、数字对不上、会话回退的边界等 Git 与数据简报项目里容易卡住的 21 个问题。

本页目录

安装、登录、模型接入类的报错,先查第 1 周的《常见问题》;权限模式、找不到文件、CLAUDE.md 不生效,查第 2 周的。这里收 Git 和数据简报项目里容易卡住的地方。每条写现象、原因、怎么办。

配置与终端

1. 第一次提交被拦下:Author identity unknown

现象:Claude Code 报告提交失败,或终端里出现:

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 默认把非英文字符当作“异常字符”,用八进制转义显示。文件本身没有问题。

怎么办

git config --global core.quotepath false

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

4. LF will be replaced by CRLF

现象:Windows 上提交时出现:

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. 源代码管理面板里看不到 MU 标记

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

原因:三种可能:还没开启版本记录;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. 还没提交的,改好 .gitignoregit 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 statusgit loggit diff 不问。

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

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

现象git status 里还有一个文件标 MU,刚才那次提交没带上它。

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

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

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

现象:主题打错字,或者两段正文写反了。

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

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

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

现象:你要求提交任务说明,它把简报的改动也一起提交了;或者它一条命令里同时 addcommit

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

怎么办:提交前说清范围:“只提交 协作记录/任务说明.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 用编辑工具改过的文件。它用命令(rmmvcp)动过的、你自己在 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 再启动。