用 AI 控制 Git 做版本管理

Git 你不用学命令——要学的是怎么支使 AI 干这件事,还有什么时候拦住它

截至 2026 年 8 月 · 演示用 Claude Code,Trae、CodeBuddy 这类能在本地跑命令的 AI 编程工具同理

把一个项目交给 Git 管起来,从头到尾你只要说四五句人话,命令由 AI 敲。

第一次:一句话把项目交给 Git

把项目交给 Git 管,就是让它开始记录这个文件夹里的每一次改动。这件事一个项目只做一次。

打开你的 AI 编程工具,在项目文件夹里开一个会话,说一句:

把这个项目用 Git 管起来,先帮我写好 .gitignore,再做第一次提交。

它替你做三件事:

git init
干了什么:这个文件夹从此被 Git 盯上,里面多一个隐藏的.git目录,你的改动都记在那要你管吗:不用
生成.gitignore
干了什么:一份名单,写明哪些文件永远不进版本库要你管吗:🔴 要看一眼
git add + git commit
干了什么:把当前这一刻存成第一个存档点要你管吗:不用

.gitignore是唯一要你亲自过目的。它决定哪些文件永远不进版本库,而密钥、密码、.env这类文件一旦进去,等于把家门钥匙挂在了门外,所以要赶在第一次提交之前就排掉。AI 生成的那份通常已经把常见的都排除了,你扫一眼有没有漏掉你自己那份配置文件就行,不确定就直接问它「这个项目里还有哪些文件不该进版本库」。

做完这三件事,项目在你电脑上已经有版本记录了。接下来是另一件事:把它传到 GitHub 或 Gitee 上。先去网页上建一个空仓库(别勾「初始化」那类选项),把地址复制下来,回来说一句「把这个项目推到这个仓库」,地址贴给它。

这一步有个 AI 代不了的动作:第一次连上去要验证你的身份,SSH 公钥要你自己粘到网站设置里,或者用网址登录授权时你自己点确认。AI 会把要粘的内容打出来告诉你贴到哪,但那几下必须你亲手点。

日常:完成一个任务,就提交一次

存档点就是你以后能退回来的地方。日常要做的是两句话:

把这轮改动提交到 Git。
推到 GitHub。

提交和推送是两个独立的动作。提交只是把这一刻存在你自己电脑上,推送才把它传到 GitHub 或 Gitee 上那份仓库里。分成两步对你是有用的:手上这版还没定,可以先一路提交着,等它稳了再一次推上去。反过来,光提交不推送,你的东西就还只有电脑里这一份,硬盘坏了一样全没。

提交说明交给 AI 写。它刚改完,知道你这轮动了什么;你自己写十有八九写成「更新」「改了一下」,等哪天要翻回去找,满屏的「更新」谁也认不出是哪次。

真正要你把握的是节奏:别攒一整天。攒得越久,存档点之间的跨度越大,出事想退回时,你只能退到一大坨改动之前,把当天干对的活一起赔进去。存档点密一点,回退时才有得挑。

改坏了:三种情况,三句话

这是版本管理最值钱的一刻。跟 AI 说之前先分清你在哪种情况——三种情况的代价完全不同

改乱了,还没存过档
你怎么说:「把这个文件恢复到上次提交的样子」AI 会做什么:丢弃这个文件的当前改动代价:🔴 这些改动直接没了,找不回来
存了档,还没推上去
你怎么说:「撤掉刚才那次提交,改动先留着」AI 会做什么:退掉存档点,文件内容还在你手上代价:小,可以改完重新提交
已经推到 GitHub 上了
你怎么说:「做一次反向提交,把上次那个改动撤销掉」AI 会做什么:新加一个存档点,内容退回去,历史留着代价:小,历史上能看到你撤过

说的时候指清楚是哪个文件、或者哪一次改动。记不住哪一次就先问它「列一下最近几次提交都改了什么」,它会打出一张清单,你挑着说「退回到第二条那次」。

已经推上去的那种,为什么不干脆把 GitHub 上的记录也抹掉?因为你换台电脑拉下来的、或者合作方手上的那份,都是按原来的历史对上的。加一条反向记录,谁都能对得上;抹掉历史,别人手上那份就跟你的对不上了。

⚠️ 三件事别让 AI 替你决定

AI 敲命令比你快,但下面三件事的后果得你自己扛。

它说要「重置到某个版本」的时候,先问一句。有一种回退方式会连你还没存档的改动一起抹掉,而 AI 顺着你「帮我退回去」这句话,很可能就选了它。问一句「我现在没提交的改动会不会一起没」,等它答完再让它动手。

别让它强推。推送被拒绝、AI 提议「强制推送一下」时停住。强推是拿你本地这份覆盖 GitHub 上那份,那边你没有的东西会被抹掉。正常做法是先把那边的拉下来合并,再推。

密钥文件永远不进仓库。前面.gitignore那一步就是干这个的。万一已经传上去了,把它从版本库里移除只是第一步——那把密钥要当作已经泄露,回原平台作废重发一把。传上去的东西,历史里还留着。

小结

版本管理这件事,你要会的就这几句话:把项目管起来、把这轮改动提交到 Git、推到 GitHub、退回上一个存档点。剩下的交给 AI,只在它说要重置版本、要强制推送的时候拦一下。

AI 助手