为 Godot + AI 协作开发场景整理 · 核心目标:给 AI 的每一次改动留好退路
你实际编辑的文件。AI 改的就是这里。
选中「要存哪些文件」的待办清单。
永久快照。存进去就丢不了。
git add .(选中)→ git commit(存档)。
status 是看现状,log 是翻历史。
| 命令 | 作用 | 说明 |
|---|---|---|
git status |
看现状 | 哪些文件改了(红色=改了没存,绿色=已选中待存)。显示 nothing to commit, working tree clean 就是最理想的状态 |
git add . |
选中文件 | 把当前目录所有改动加入待存清单。. 代表全部,也可指定单个文件 |
git commit -m "说明" |
拍快照存档 | 把暂存区内容永久记一笔。-m 后写说明,方便日后知道这次存了什么 |
git log --oneline |
翻历史 | 列出所有快照。每行前面那串字符是快照编号,用来精确回到某一次 |
| 命令 | 作用 | 什么时候用 |
|---|---|---|
git checkout . |
一键还原 | AI 把项目改崩了——所有文件回到最近一次 commit 的状态。这是你做备份的核心价值 |
git diff |
看改了什么 | AI 改完后逐行检查它的改动。强烈建议每次都先看再决定留不留 |
git restore <文件> |
还原单个文件 | 只想还原某一个文件,不想全部回滚 |
git reset --hard |
彻底回退 | 连暂存区一起清干净(比 checkout 更狠,慎用) |
git add . → git commit -m "完成弓箭手移动"git diff —— 逐行对照,看有没有误删、误改git add . + git commit -m "说明" 存下来git checkout . 一键还原,重来
# ① 进项目目录(路径有空格,引号必须带) cd "C:\Users\hudaw\Saved Games\Godot\AI" # ② 初始化仓库(生成隐藏的 .git 文件夹) git init # ③ 建 .gitignore 排除缓存(必须在 add 之前!) # 内容:.godot/ .import/ export.cfg export_presets.cfg .mono/ # ④ 配置身份(第一次 commit 前必做,一劳永逸) git config --global user.name "hudaw" git config --global user.email "hudaw@example.com" # ⑤ 选中所有文件 git add . # ⑥ 拍第一张快照 git commit -m "接入AI前的备份" # ⑦ 验证 git status # 期望:nothing to commit, working tree clean git log --oneline # 期望:显示一行 commit 记录
.godot/(前面有个点),少了点就拦不住几百 MB 的缓存目录.txt 后缀 → 保存类型选「所有文件」,文件名用双引号 ".gitignore" 包起来
| 命令 | 说明 |
|---|---|
git config --global user.name "名" | 设置用户名(全局,所有项目通用) |
git config --global user.email "邮箱" | 设置邮箱(不验证真实性,格式对即可) |
git config --list | 查看当前所有配置 |
| 命令 | 说明 |
|---|---|
git init | 把当前文件夹变成 git 仓库(只做一次) |
git status | 看当前状态(最常用,随时可敲) |
git add . | 选中所有改动 |
git add 文件名 | 只选中指定文件 |
git commit -m "说明" | 存档 |
git commit -am "说明" | add + commit 合并一步(仅限已跟踪的文件) |
| 命令 | 说明 |
|---|---|
git log --oneline | 简洁历史(一行一条) |
git log | 详细历史(含作者、时间) |
git diff | 看未暂存的改动内容 |
git diff --stat | 只看哪些文件改了、改了多少行 |
git ls-files | 列出已被 git 管理的所有文件 |
| 命令 | 说明 |
|---|---|
git checkout . | 还原所有文件到最近一次 commit(最常用) |
git restore 文件名 | 还原单个文件 |
git restore --staged 文件名 | 把文件从暂存区撤回来(不改动文件内容) |
git rm -r --cached 目录 | 从版本库移除某目录,但保留硬盘上的文件 |
git reset --hard | 彻底回退,清空暂存区(慎用) |
nothing to commit, working tree cleangit add . 再 commitgit checkout . 丢弃这些改动git commit -m "说明" 完成存档.godot/ # 导入缓存,几百 MB,必须排除 .import/ export.cfg export_presets.cfg .mono/ data_*/ mono_crash.*.json
git ls-files | Select-String "\.godot/" —— 没输出就说明缓存被成功排除了。
.git 仓库都照样生效。而且 AI 自己也会读 git 状态、执行 git 操作——有版本管理的项目里,AI 的表现比在裸目录里可靠得多。