加入会员
Skip to content

访问受限

课程专属内容

Git 状态回滚

课程导读

这节课介绍如何用 Git 管理项目版本。Claude Code 的对话回退只能处理一部分由它自己产生的改动,而 Git 可以记录整个项目的文件状态,更适合作为真正的版本保险。

一、初始化 Git 仓库

Git 在前面的环境配置中通常已经安装好了。

先进入项目目录,然后执行:

bash
git init

执行后,当前项目文件夹就会变成一个 Git 仓库。

二、查看 AI 改了哪些文件

点击 Warp 右上角的变更统计,可以打开 Code Review 面板。

这个面板主要用来查看差异:

内容含义
绿色内容新增的代码
红色内容删除的代码
文件列表本次发生变化的文件

它的好处是可以清楚看到 AI 到底改了哪里。

三、把差异添加到对话里

Code Review 面板不只是用来看差异,也可以把某段改动添加到 Claude Code 的对话里。

常见用法:

操作用法
添加整个文件改动选择一个文件,把这段改动作为上下文继续提问
添加几行代码选中某几行代码,再添加到对话
添加评论在多个位置写评论,最后一次性发给 Claude Code

四、安装和打开 UGit

Git 本身是命令行工具。为了让新手更直观地理解提交和回退,这里推荐使用可视化工具 UGit。

UGit 官网

安装后打开 UGit,如果出现冲突提示,可以先直接关闭。

第一次使用建议先做两个设置:

  1. 点击设置。
  2. 进入 Git 设置。
  3. 填写用户名和邮箱。

用户名和邮箱会记录在每一次提交里,用来标记这个版本是谁提交的。

设置完成后,选择打开仓库,打开刚才的项目文件夹。

五、理解变更和待提交

打开仓库后,刚创建的 Python 文件通常会出现在「变更」列表里。

状态含义
变更所有产生变动的文件(新建、修改、删除);还没放进「待提交」的都会显示在这里
待提交已添加至待提交、准备写入这次版本的文件

Git 不会默认管理所有文件。

因为有些文件不需要版本管理,比如临时文件、缓存文件、大型素材文件等。所以 Git 会先要求你明确哪些文件要纳入版本管理。

不需要提交的文件怎么处理

记住一个原则:只有「待提交」里的文件才会进入这次提交。 留在「变更」里的文件,不会自动被提交。

情况操作
这次先不提交,以后可能还会提交留在「变更」里,不要加入「待提交」
永远不想提交,比如缓存、临时文件、密钥在不想提交的文件上右键,选择忽略(忽略的选项含义见下表),或直接在 Claude Code 里说
已经误加到「待提交」了在「待提交」里选中该文件,点击 移出待提交,文件会回到「变更」

方法一:在 UGit 里忽略

.gitignore 是 Git 的「忽略清单」,作用是告诉 Git:哪些文件不需要纳入版本管理。

比如临时文件、缓存、日志、编译产物、个人本地配置、密钥文件等。这些文件可能只对你本机有用,或者每次运行都会自动生成,不适合提交到仓库里。

UGit 的 忽略 菜单,本质上是在帮你快速往 .gitignore 里添加规则,并让 Git 停止跟踪对应文件。菜单会根据当前文件自动给出选项,常见有三种:

选项会写入的规则适合场景
该文件并停止跟踪方法.txt只想忽略当前这一个文件
后缀为 .xxx 的文件并停止跟踪*.txt整个项目里这种后缀都是临时文件;若同后缀里还有说明文档、示例数据,就不要选
"文件夹名" 所有文件并停止跟踪data/整个文件夹都是缓存、下载文件或生成结果;若文件夹里还有代码、文档、配置,就不要选

拿不准时,优先选 该文件并停止跟踪,影响范围最小。后两个是按后缀或整个文件夹批量忽略,新手很少用到。

选完后,UGit 会自动写入 .gitignore,对应文件会从变更列表里消失,之后也不会被误提交。

方法二:让 Claude Code 帮你忽略

不想打开 UGit 时,可以直接在 Claude Code 里说明要忽略哪些文件。Claude Code 会编辑 .gitignore,效果和 UGit 里点「忽略」一样。

示例提示词:

text
把 方法.txt 加入 .gitignore,以后不要提交这个文件。

六、提交第一个版本

把文件添加到待提交后,就可以提交版本。

提交前注意两件事:

项目建议
推送到远程如果当前没有绑定 GitHub 仓库,先取消勾选
提交信息写清楚这次版本做了什么

GitHub 是什么

GitHub 是一个放在云端的代码托管平台。你可以把本地的 Git 仓库备份到网上,也可以和别人协作、分享代码。

个人学习和小项目,一般只在本地用 Git 提交、回退就够了。

如果以后想把代码备份到云端,可以自己去 GitHub 注册一个免费账号,再在 UGit 里绑定远程仓库。注册不需要付费,打开官网按提示填写邮箱、密码、用户名即可,也可以用 Google 或 Apple 账号直接登录注册。这部分不是本节课的重点,用到时再配置即可。

GitHub 官网

七、回退到旧版本

在 UGit 历史面板里,右键选中某个提交记录,常见有两个选项:

回退此提交

  • 不删旧记录,在最新位置再提交一条「反向修改」
  • 只把这一次提交改过的内容改回去,历史还在,时间线继续往前走
  • 团队项目更常用,因为不会改写已有历史
  • 本地独自开发不一定常用:一次只能撤销某一个提交,后面若还有相关改动可能冲突

重置 main 到此版本

  • 把当前分支直接指回选中的版本
  • 项目整体回到那个时间点,后面的版本记录被移除,也就是「时光倒流」
  • 逻辑更直观,适合 AI 改坏后整体回到某个安全版本

八、Mixed 和 Hard 的区别

选择 重置 main 到此版本 时,常见还有两个子选项:

Mixed

  • 版本记录回到旧版本,但后面的改动还留在变更列表里
  • 适合不想保留后面的版本记录,但还想重新检查这些改动、再决定要不要提交

Hard

  • 版本记录回到旧版本,后面的改动也从文件里消失
  • 新手最常用;比如 AI 大改前先提交一个安全版本,改坏了就用 Hard 回到那个版本
  • 会放弃当前所有本地更改,点击前确认没有自己手动写的重要内容

九、在 Claude Code 里提交

日常写代码时,不一定每次都要打开 UGit 提交。

可以直接让 Claude Code 帮你提交。

示例提示词:

text
将我手动做的更改提交。

Claude Code 会检查当前变更,并在确认后完成提交。

提交完成后,Warp 右上角的差异数字会消失,UGit 历史记录里也会出现新的提交。

十、使用 Commit Commands 插件

更方便的方式是安装 Claude Code 的提交插件。

进入插件管理器:

text
/plugin

搜索并安装:

text
commit commands

安装完成后重新加载插件:

text
/reload-plugins

之后可以通过斜杠命令提交:

text
/commit-commands:commit

Claude Code 会自动整理本次变更,并生成合适的提交信息。

十一、这节课只记住两步

Git 的概念很多,但日常使用先记住两个动作就够了。

动作什么时候用
提交当前代码完成一个小任务,确认可以保存时
回退AI 改坏了,或者想回到之前某个安全版本时

先把“提交”和“回退”这两个习惯建立起来,就已经能解决大部分新手开发中的版本安全问题。