Skip to content

Git 妙用 ​

Git 记录文件的每次变化:改了什么、什么时候改的、能不能回到以前、能不能同步到别处。代码、文档、日记、知识库都能用。让 AI 改文件时,Git 能看清 AI 改了哪里,不满意可以撤回。

不用先背命令。把下面的提示词发给 Codex 或其它能操作本机文件的 AI,让它检查状态、执行操作、解释结果。

先说清楚边界

不熟悉 Git 时,禁止 AI 直接执行 reset --hard、git clean -fd、强制推送。需要删除、覆盖、回退大量文件时,让 AI 先解释影响,等你确认。

日常流程 ​

  1. 修改前,让 AI 检查 Git 状态。
  2. 修改后,让 AI 总结 git diff。
  3. 确认没有敏感信息和无关文件。
  4. 让 AI 提交,写清提交信息。
  5. 需要备份或协作时,推送到远端。

初始化仓库 ​

第一次把一个文件夹交给 Git 管理:

text
请帮我把当前项目初始化为 Git 仓库。
要求:
1. 先确认当前目录路径和文件列表,避免在错误目录操作。
2. 如果已经是 Git 仓库,就不要重复初始化,只说明现状。
3. 如果不是 Git 仓库,再执行初始化。
4. 初始化后创建或检查 .gitignore,避免把密钥、缓存、依赖目录、构建产物提交进去。
5. 最后告诉我下一步应该如何做第一次提交。
不要执行远端推送。

.gitignore 是“不记录这些文件”的清单,常见的有密钥、日志、缓存、node_modules、构建输出。初始化时先写好,比误提交后再清理稳。

第一次提交 ​

text
请帮我做第一次 Git 提交。
要求:
1. 先运行 git status 和 git diff,说明将要提交哪些文件。
2. 检查是否有 API Key、密码、token、私密聊天记录、大体积缓存或构建产物。
3. 如果发现敏感或不该提交的文件,先停下来告诉我,不要提交。
4. 如果没有问题,把合适的文件加入暂存区。
5. 使用简洁的中文提交信息,例如“初始化文档仓库”。
6. 提交完成后告诉我提交编号和当前状态。

让 AI 改代码前先看状态 ​

已有的未提交修改可能是你自己刚写的,先看状态能避免 AI 把它覆盖或混在一起:

text
请先帮我检查当前 Git 状态,然后再开始修改代码。
要求:
1. 先运行 git status,确认当前有没有未提交修改。
2. 如果已有未提交修改,请先告诉我这些修改是什么,不要覆盖或回退。
3. 修改前说明你准备改哪些文件,为什么要改。
4. 修改后运行 git diff,总结具体改动。
5. 如果项目有测试或构建命令,请运行最相关的验证命令。
6. 不要自动提交,等我确认 diff 和验证结果后再提交。

修完 bug 后提交 ​

一次提交只围绕一个目标,以后排查问题更容易定位:

text
请帮我审查并提交这次代码修改。
要求:
1. 先运行 git diff,总结本次代码修改解决了什么问题。
2. 检查有没有无关格式化、调试日志、临时文件、密钥或大文件。
3. 如果有测试,请说明已经运行了哪些测试,以及结果是什么。
4. 只提交和这次 bug 修复相关的文件。
5. 提交信息用简洁中文,例如“修复登录表单校验问题”。
6. 提交后运行 git status,确认没有漏提交的相关文件。

保存今天的修改 ​

text
请帮我保存当前修改到 Git。
要求:
1. 先查看 git status 和 git diff,总结本次改动内容。
2. 如果改动很多,请按主题建议拆成几个提交,但先问我是否同意。
3. 检查是否有敏感信息或不该提交的临时文件。
4. 没有问题后再提交。
5. 提交信息用中文,格式尽量简洁,例如“更新 Git 妙用文章”。
6. 提交后再次查看 git status,确认工作区是否干净。

提交前让 AI 审查 ​

text
请作为审查者检查我当前未提交的 Git 改动。
要求:
1. 先查看 git status、git diff 和 git diff --cached,并读取未跟踪的新文件;只审查,不要修改文件。
2. 优先指出明显错误、遗漏文件、敏感信息、无关改动和可能影响运行的问题。
3. 如果只是文字或文档修改,也要检查链接、标题层级、示例是否前后一致。
4. 最后给出是否建议提交,以及建议的提交信息。

推送到远端仓库 ​

同步到 GitHub、Gitee、GitLab 或公司 Git 服务。第一次推送前确认仓库地址,避免推到错误项目:

text
请帮我把当前 Git 仓库推送到远端。
远端仓库地址是:<把你的仓库地址粘贴在这里>
要求:
1. 先检查当前是否有未提交修改;如果有,先停下来问我是否要提交。
2. 检查是否已经配置 remote。
3. 如果没有 remote,请把上面的地址配置为 origin。
4. 推送前说明将要推送的本地分支和远端分支。
5. 不要执行强制推送。
6. 推送完成后告诉我远端地址和当前分支状态。

开分支试新想法 ​

让 AI 大改一版、重构一批文件时,先开分支:不满意就放弃,满意再合并。

text
请帮我为这个任务创建一个 Git 分支。
任务目标是:<描述你要试验的事情>
要求:
1. 先确认当前工作区是否干净;如果不干净,先说明有哪些未提交内容。
2. 创建一个语义清楚的分支名。
3. 切换到新分支后再开始修改。
4. 修改完成后总结这个分支相对主分支改了什么。
5. 不要自动合并回主分支,等我确认。

团队协作前先同步 ​

text
请帮我在开始修改前同步远端仓库。
要求:
1. 先检查当前是否有未提交修改。
2. 如果有未提交修改,不要直接拉取,先告诉我风险。
3. 如果工作区干净,再拉取远端最新内容。
4. 如果出现冲突,请解释冲突文件和冲突原因,不要擅自删除任何一方内容。
5. 同步完成后告诉我当前分支是否已经是最新。

找回以前的内容 ​

先查历史、看差异,再决定恢复哪一部分;可以只恢复某个文件,不用回退整个仓库。

text
请帮我查找 Git 历史,找回某个文件以前的内容。
文件路径是:<填写文件路径>
我想找的内容大概是:<描述关键词或时间>
要求:
1. 先只查看历史和差异,不要直接覆盖当前文件。
2. 找到可能的版本后,告诉我提交时间、提交信息和相关改动。
3. 如果需要恢复,请先给出恢复方案,等我确认后再操作。
4. 不要执行 reset --hard。

日记和知识库定期保存 ​

适合 Obsidian、Markdown 笔记这类经常改的目录。笔记常有私人内容,先手动确认,不做无人值守推送。

text
请帮我为这个日记或知识库目录设计一个简单的 Git 保存流程。
目标:
1. 每次保存前先检查有哪些文件变化。
2. 默认只提交 Markdown、图片和附件,不提交缓存、插件临时文件、密钥或系统文件。
3. 提交信息包含日期和简单说明。
4. 如果适合自动化,只给我一个最简单的脚本方案,并解释怎么手动运行。
5. 不要配置复杂 CI,不要做无人值守推送,先以手动确认为主。

看懂 AI 在做什么 ​

概念意思
仓库被 Git 管理的文件夹
工作区你电脑上正在编辑的文件
暂存区准备放进下一次提交的文件清单
提交一个可回看的存档点
差异当前文件和上次提交相比改了什么
分支从同一份内容分出来的一条试验路线
合并把一条分支的成果并回另一条分支
远端放在 GitHub、Gitee、GitLab 等平台上的仓库副本
命令作用
git status看哪些文件改了、当前在哪个分支;AI 操作 Git 前第一步
git diff看具体改了什么,确认 AI 没有多改、误删或混入敏感信息
git add 文件路径把文件放进下一次提交的清单,按文件或主题添加
git commit -m "说明"保存一个版本点,-m 后写这次改动的目的
git log --oneline简短查看提交历史,找某次改动从这里开始
git push把本地提交同步到远端;第一次可能要指定远端和分支
git pull拉取远端最新内容;先确认本地没有未提交修改
git remote -v查看连接的远端地址;第一次推送、换电脑、推送失败时用

新手不要直接让 AI 做的事 ​

操作风险
reset --hard直接丢掉当前未保存的修改
git clean -fd删除未被 Git 跟踪的文件
强制推送覆盖远端历史,影响别人
大范围自动合并容易把冲突处理错
自动提交所有文件可能混入密钥、缓存、临时文件
无人值守推送私人笔记隐私内容同步到远端

确实需要这些操作时,提示词里加一句:先解释影响,不要执行,等我确认后再做。