单元二 和 AI 第一次合作 · 第 8 课
Git:给文件夹存档
下一课 AI 就要动手改文件了。在那之前,先学会给文件夹存档:改坏了,一条命令回到过去。
本课目标
- 安装并设置 Git。
- 给练习包做第一个存档。
- 会查看改了什么,会把改动撤销。
先懂概念:游戏存档
玩游戏时,打 Boss 之前先存档,打输了读档重来。Git 就是给文件夹用的存档工具:
| 词 | 意思 |
|---|---|
| 仓库(repository) | 用 Git 管理的文件夹 |
| 提交(commit) | 一个存档点,记录了此刻所有文件的样子,附一句说明 |
| 改动(diff) | 现在和上一个存档点相比,哪里变了 |
| 恢复(restore) | 把文件变回存档时的样子 |
AI 一次能改很多文件,光凭记忆根本说不清它改了什么。有了 Git,你能看清每一处改动,不满意就一键恢复。这就是为什么 Git 要放在让 AI 改文件之前学。
跟着做
1. 安装 Git
Windows,在 PowerShell 里运行:
winget install --id Git.Git -e如果提示找不到 winget,就到 Git 官网 下载安装包,一路“下一步”使用默认选项即可。
macOS,在终端里运行:
git --version如果还没装,系统会弹窗提示安装“命令行开发者工具”,点“安装”,等几分钟即可。
装好后重开终端,确认能看到版本号:
git --version2. 告诉 Git 你是谁
每个存档都会记下是谁做的。把名字和邮箱换成你自己的(这里的名字用英文或拼音):
git config --global user.name "Xiao Ming"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
git config --global core.quotepath false最后两行分别让新仓库的主分支叫 main,以及让 Git 正常显示中文文件名。这几条设置一次就够了,以后不用再设。
3. 做第一个存档
cd ~/ai-course/practice-pack
git init
git add .
git commit -m "原始文件"依次是:把这个文件夹变成仓库;把所有文件加入这次存档;创建存档并写上说明。
存档说明一定要用
-m "说明"的写法。如果忘了写-m,Git 会打开一个叫 Vim 的编辑器等你写说明,新手很容易困在里面。万一进去了,按Esc,输入:q!,回车,就能退出。第 17 课会正式学 Vim。
看一看存档记录:
git log --oneline4. 改一个文件,看看改动
用记事本或文本编辑打开 todo list.txt,在最后加一行“- 学完第 8 课”,保存。然后:
git statusGit 会告诉你 todo list.txt 被修改了(modified)。再看具体改了什么:
git diff新增的行前面有 +,删掉的行前面有 -。如果屏幕底部出现冒号或 (END),按 q 退出。
5. 撤销改动
git restore "todo list.txt"
git status再打开 todo list.txt,刚才加的那行没了。
6. 新文件怎么清理
git restore 只管存档里已有的文件。新冒出来的文件要用 git clean。先造一个新文件:
echo hello > test.txt
git statustest.txt 出现在 Untracked files(未跟踪的文件)里。先预览会删掉什么:
git clean -n确认列出来的只有 test.txt,再真正删除:
git clean -f你应该看到
最后再运行一次 git status,看到 nothing to commit, working tree clean,意思是文件夹和存档完全一致。
后悔药:记住这三条命令
以后 AI 把文件夹改得一团糟时,用下面的步骤回到上一个存档。注意:所有还没存档的改动都会被丢弃。
第一步,恢复被修改、删除、改名的文件:
git restore --staged .
git restore .git restore --staged . 先取消已经交给 Git 暂存的改动(用过 git add 才会有,没有也不影响),git restore . 再把文件恢复原样。
第二步,预览新冒出来的文件和文件夹:
git clean -nd仔细看列出来的清单,确认都是可以删除的,再进行第三步:
git clean -fdgit clean 删除的文件不进回收站,所以一定先预览、再删除,不要把这几条命令放在一起粘贴。
常见问题
提示 Please tell me who you are? 第 2 步的名字和邮箱没设好,重新运行那几条命令。
Windows 上看到 LF will be replaced by CRLF? 这是 Windows 和 macOS 换行符不同造成的提示,不影响使用,可以忽略。
git 找不到命令? 安装后要重开终端。还不行,回顾第 4 课的排查步骤。
自检
-
git log --oneline能看到“原始文件”这个存档。 - 我能用
git status和git diff看出改了什么。 - 我记住了后悔药的步骤,并且知道
git clean要先预览、再删除。 - 我知道万一进了 Vim 怎么退出。