🧡 第四章 核心工作模式:把Claude Code变成真正的【生产力工具】
📄 一句话概括

Git 在这里最大的价值不是存版本,是【错得起】:看改了什么、存档、干别的、不满意一键回退——有了它你才敢放手让它改。

📝 本节和前面几节的关系

上一节定好了规矩,这一节讲那件让规矩敢于放宽的东西:版本管理。

一、它天生会用 Git,而且比大多数人熟

Git 的操作是有明确规则、可复述、可验证的——这正是它最擅长的那一类任务。 你不用教它命令怎么写,只要说清目标:把这次改动单独存一档、看看它改了什么、把这个文件退回去。

二、你真正该关心的只有一件事:回退

看改了什么(diff)、存档(commit)、干别的、不满意一键回退(checkout)——四步里最要紧的是最后一步。 有了这层保护,你才敢让它放手改;没有它,你只能让它出主意。 本节的演示在一个临时仓库里真跑了一遍:改坏之后一键退回,内容原样回来。

三、怎么把 Git 用成你的安全带

开工前先存档:动大文件之前先存一档,回退的落点才清楚。 一次改动一档档:别攒三天再一起存,否则回退粒度太粗。 提交信息写人话:写【改订单页日期显示】而不是【update】,将来你自己看得懂。 推送之前必看 diff:这是红灯动作,看一眼再放行,成本极低。

四、一条实话

Git 能保护你改错,但保护不了你想错——需求本身错了,代码写得再干净也没用。 所以 Git 是执行层的保险,第 2.6 节的四件套才是需求层的保险。两层都要有。

五、动手 Demo:Git 在这里到底帮了什么

下面在一个临时仓库里真跑一遍:init、add、commit、diff、checkout。

def git(*args):
    return subprocess.check_output(
        ["git", "-c", "user.email=demo@local", "-c", "user.name=demo"]
        + list(args), cwd=TMP, stderr=subprocess.STDOUT)
git("init", "-q"); git("add", "demo.txt")
git("commit", "-q", "-m", u"第一版:初始内容")
# 改坏之后
git("checkout", "--", "demo.txt")

实跑输出:

--------------------------------------------------------------------
Git 在这里到底帮了什么
--------------------------------------------------------------------

下面在一个临时仓库里真跑一遍,看这几步各自在保护什么:

改了文件之后,先看它改了什么:
    demo.txt | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)

回退一步,文件内容回到:第一版

这四步里,**回退那一步是它最该被信任的地方**:
    看改了什么(diff)-> 存档(commit)-> 干别的 -> 不满意一键回退(checkout)
没有这层保护,你不会敢让它放手改;有了它,【试错】才敢放开。

输出里三段值得看:diff 说清了改了什么;回退之后内容原样变成【第一版】。 演示用完临时仓库已自动删除——演示产物不留在你的目录里。

30 秒实验

  1. 给你常用的项目建一个本地版本库,先存一档,然后让它改一处,看 diff。
  2. 练一次回退:故意改坏,然后退回去。会退,才敢放手。

常见误区

  1. 把 Git 当存档盘,只存不理。【一次改动一档】才能让你退得回去。
  2. 以为有 Git 就不用复查 diff。它挡得住误操作,挡不住你把错的改动推出去。
自测三问(点开对答案) 1. Git 在这里最大的价值是什么? —— 错得起——看改了什么、存档、干别的、不满意一键回退。 2. 四步里最要紧的是哪一步? —— 回退那一步;它是敢不敢放手改的前提。 3. Git 能保护什么、保护不了什么? —— 保护你改错,保护不了你想错——需求错了代码再干净也没用。

相关笔记