· 月明Verse · AI 工程实践 · 17 分钟阅读
让 AI 改代码,先留好退路
从检查差异、保存提交到验证结果,给 Agent 改代码留出可核查的回退路径。

Git 和 GitHub 零基础入门

你刚开始用 Agent 做网页、脚本或小工具时,最让人不踏实的常常是:它一口气改了好几个文件,页面变了,你却说不清具体改了什么;新版本出了问题,手边只剩一个“final-final2”文件夹。Git 会把项目的变化记录成一个个可检查的版本。你可以查看差异、找到改动的来由,也能回到一个可用的提交点。再让 Agent 先读项目说明、限定改动范围,完成后展示差异并跑验证,代码修改就有了一条能检查的过程。
Agent 可以替你改代码,Git 帮你看清改了什么、留下哪些可回退的节点。
Git 管本地版本,GitHub 管远程协作
把一份网页项目放在电脑里,Git 可以跟踪它的变化。你修改按钮、调整页面、修复报错,每次觉得当前状态值得留下时,就创建一个提交(Commit)。项目目录里会有一条本地历史,记录每个提交包含的变化。
GitHub、GitLab、Gitee 则提供在线仓库和协作功能。它们能保存远程仓库、展示项目文件,支持多人围绕代码协作。GitHub 常被用来浏览和发现公开项目;团队也可能使用 GitLab 或 Gitee。具体选哪家,看团队已有平台、访问条件和项目需求。
| 名称 | 通俗理解 | 常见用途 |
|---|---|---|
| Git | 电脑里的项目版本记录工具 | 查看改动、保存提交、切换分支 |
| GitHub | 在线仓库与协作平台 | 浏览公开项目、远程备份、提交协作 |
| GitLab | 在线仓库与研发协作平台 | 团队代码托管、评审和研发流程 |
| Gitee | 中文环境常见的代码托管与协作平台 | 远程保存、团队协作、分享项目 |

关键区别落在两步:commit 把一个版本记录在本地;push 才把本地提交发送到远程平台。所以你可以先只在自己的电脑上用 Git,等需要跨设备备份、分享代码或协作时,再选择 GitHub、GitLab、Gitee 之一。
本地历史仍然存在这台电脑上。它能帮你处理误改,硬盘损坏时却不能替代远程备份。需要备份时,再考虑推送到自己确认过的远程仓库。
Agent 改了很多文件,Git 帮你逐项检查
如果你让 Agent “把网页改得更好看”,它可能同时调整布局、颜色、按钮、图片和文件结构。最后页面能打开,仍然无法说明每个变化都符合你的意思。
先在改动前保存一个已知可用的提交点,Agent 做完后查看 Diff(改动差异),你能逐项看到它增加、删除或修改了什么。接着打开页面、跑项目已有的检查,观察结果是否符合需求。满意之后再提交这次变化;如果改错了,先查看差异,再决定保留、修正或恢复到哪一个文件。


Git 的回退以你保存过的提交为依据。只改了文件、还没有提交时,这些新内容还没有成为一个历史节点;直接执行恢复或清理命令可能会丢掉它们。让 Agent 处理恢复前,先要求它展示当前状态和影响范围。
提交记录也能帮 Agent 衔接前情,不过历史不会自动进入它的上下文。你需要在 Prompt 里明确要求它读取 README、最近几次提交和当前差异,再说明本次要完成什么。提交说明写得具体,Agent 才有机会用得上这段背景。
安装 Git,先检查再决定怎么装
开始安装前,先在终端运行:
git --version看到 Git 版本号,说明当前终端已经能找到 Git。版本号只是安装检查,不代表项目已经开启版本管理;也不需要先登录 GitHub。
| 系统 | 自己安装 | 请 Agent 协助 |
|---|---|---|
| Windows | 从 Git 官方 Windows 安装页下载对应架构的安装包,运行安装程序;结束后重新打开 PowerShell,再执行 git --version。 | 先让它检查 Git 是否已安装、识别 Windows 与处理器架构;说明官方来源和准备执行的步骤,等你确认后再安装。结束后重新开终端核对版本号。 |
| macOS | 先执行 git --version;缺少 Git 时,可在终端运行 xcode-select --install 安装 Apple Command Line Tools,也可以按 Git 官方 macOS 安装说明选择其他方式。 | 先检查当前状态;如果需要安装,让它说明方案、来源和命令,等你确认后执行。完成后重新开终端并核对 git --version。 |
你可以直接把这段话发给 Agent:
请先检查这台电脑是否已安装 Git,只运行 git --version 并告诉我结果。
如果没有安装,请先说明你识别出的操作系统和处理器架构、准备使用的官方来源、要执行的命令及可能需要的权限,等我确认后再安装。
安装后请让我重新打开终端,再运行 git --version,把实际结果贴出来。
这一步不要改我的项目文件,也不要登录或上传到任何代码平台。Agent 能否运行安装程序,取决于它是否能访问你的终端、当前权限和系统设置。它说“已安装”之后,仍要看 git --version 的实际结果。Windows 和 macOS 的官方安装入口都在 git-scm.com。
第一次提交,先记住这几个动作
在终端里进入项目文件夹后,先确认当前位置,再初始化仓库:
cd my-page
git init
git statusgit init 会在当前目录创建 Git 仓库。git status 会告诉你当前有哪些变化。改完一个小功能后,可以用下面几步检查并记录:
git diff
git add index.html
git diff --staged
git commit -m "调整首页按钮颜色"git diff 用来检查还没有暂存的改动;git add 把你选定的文件放入下一次提交;git diff --staged 查看准备提交的内容;git commit 把它保存成一个本地节点。提交说明写“改了什么、为什么改”,以后自己和 Agent 都更容易理解这条记录。
第一次提交时,Git 可能会要求设置作者姓名和邮箱。这些信息写入提交记录,用来标明这次是谁提交的;它们不是 GitHub 登录密码。公开仓库还要先检查文件清单,避免把 .env、API Key、个人资料等内容提交或推送出去。Agent 可以帮你检查 .gitignore,但最后仍要看它准备纳入版本管理的文件。
Branch 和 Worktree,分别解决两种问题
Branch(分支)是一条独立的改动路线。你可以从稳定版本旁边开一条新路线,让 Agent 尝试一个按钮或页面功能。切换分支时,当前项目目录里的文件会跟着切换,所以同一个目录里不适合让两个 Agent 同时改不同任务。
git switch -c try-button这会新建并切换到 try-button 分支。改完以后检查 Diff、打开页面验证,再决定是否提交、合并回主线。切换前先用 git status 看看有没有没提交的改动。试验效果不合适时,也可以先保留分支里的提交,再请 Agent 说明清理影响。

Worktree 管的是另一份实际工作目录。你可以让一个 Agent 在原目录整理页面,另一个 Agent 在新目录写文档;两个目录各自连着不同的分支,但共同使用同一个 Git 仓库历史。

假设主分支叫 main,新建一份文档目录可以这样写:
git worktree add -b docs ../my-page-docs main这会从 main 创建 docs 分支,并在旁边建立 my-page-docs 目录。你的项目主分支也可能叫别的名字,先让 Agent 查看实际分支,再由你确认命令。
| 你要做的事 | 适合先用什么 | 工作方式 |
|---|---|---|
| 让 Agent 单独尝试一个小功能 | Branch | 同一目录切换到试验分支,完成后检查和合并 |
| 同时跑两个互不相同的任务 | Worktree | 多一份目录,各自在不同分支工作,再分别检查 |
刚开始只要记住:**Branch 管改动路线,Worktree 提供并行工作的目录。**用 Worktree 前,先让 Agent 检查 git status 和已有目录,再解释要创建哪个分支和新目录,避免覆盖尚未提交的工作。
去 GitHub 找项目,先看说明和许可证
GitHub 上有许多公开仓库,可以找到代码、工具和教程。Trending 与 Star 数适合帮你发现项目,热度不能说明它正好适合你,也不能证明它现在仍在维护。
点开仓库后,先看 README 了解它解决什么问题、怎么运行;再看最近的提交、Release、Issues 或 Pull Requests 有没有持续回应;同时确认运行要求和 LICENSE。Issue 暂时没有回复,也可能是项目规模或维护方式不同,单项指标都不能单独下结论。

公开仓库也可以作为作品展示入口。挑一两个自己做过的项目,在 README 里说明它解决什么问题、怎么运行、自己完成了哪部分,再放一张实际效果图和当前限制。别人能顺着这些信息理解你的作品;GitHub 是一个常见的展示平台,团队已有其他代码平台时也可以在那里整理。
看好项目后,获取方式也要选对:Download 下载一份文件,适合先看内容;Clone 把仓库和 Git 历史带到本地,适合继续开发;Fork 在平台上创建一个自己的副本,适合准备基于原项目贡献修改。准备长期使用前,先读 README 和 LICENSE。
许可证会说明代码可以如何使用和分发。下面是入门速查,具体项目要读仓库里的完整许可文件;依赖库也可能有各自的许可证。
| 许可证 | 商业用途 | 新手先记住的条件 |
|---|---|---|
| MIT | 允许 | 使用或分发时保留版权声明和许可证文本。 |
| Apache-2.0 | 允许 | 分发时保留许可和适用的 NOTICE,修改过的文件要作标记;还有专利授权条款。 |
| GPL-3.0 | 允许 | 再分发受 GPL 覆盖的软件时,需要遵守 GPL 对源码和后续分发的要求。 |
| CC BY-NC | 不允许商业用途 | NC 明确限制商业用途;代码项目要确认作者采用的确实是适合软件的许可。 |
| 没有 LICENSE | 默认没有广泛复用许可 | 仓库公开可见,不等于你可以随意复制、修改并商用。 |
GitHub 官方解释了仓库许可证;可以直接阅读 MIT、Apache-2.0 和 GPL-3.0 原文。表格是快速筛选,不代替具体使用前的条款核对。
让 Agent 改代码时,用这段提示词
请先阅读 README,运行 git status、git branch --show-current 和 git log -5 --oneline,告诉我当前分支、未提交改动和最近几条记录。
这一步只检查,不修改、删除、切换分支或上传。
确认后,请只完成这个目标:[写清楚要改什么]。
不要修改:[列出要保护的文件或功能]。
完成后请列出改动文件,展示 git diff 摘要,运行项目已有的检查,并把实际命令和结果贴出来。检查完先停下,让我决定是否提交或推送。你可以把每个动词分开看:先 status 看现在有什么变化,再 diff 看 Agent 改了什么,运行页面或项目检查,然后决定是否 commit。push 会把提交发到远程平台,需要用时再说明仓库地址和文件范围。
我更关心 Agent 执行后有没有给出能复核的结果。看它准备改哪些文件、对照实际差异,再打开页面验证,自己才有依据决定要不要接受这次修改。
刚开始实践,挑一个不会影响工作的网页小项目就够了:装好 Git、保存一次初始提交、让 Agent 改一个按钮、看一遍差异、打开页面验证。把这套顺序跑通,之后再去试分支和 Worktree。
关注我,一起学习更多的 Vibe Coding 思考和技巧。