<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>dev-tools on </title>
    <link>/tags/dev-tools/</link>
    <description>Recent content in dev-tools on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 20 Mar 2026 22:15:00 +0800</lastBuildDate><atom:link href="/tags/dev-tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>为什么不少 AI Agent 会用 Git Worktree？一篇 Worktree 学习笔记</title>
      <link>/posts/git-worktree-study/</link>
      <pubDate>Fri, 20 Mar 2026 22:15:00 +0800</pubDate>
      
      <guid>/posts/git-worktree-study/</guid>
      <description>最近在使用各种 AI Coding Agents（如 Claude Code, Gemini CLI）进行开发时，我发现它们在后台处理复杂任务时，经常会用到 &amp;ldquo;Worktree&amp;rdquo;。于是我顺手补了一轮 Git Worktree 的基础知识，也想弄清楚这些工具为什么偏爱它。
那么，到底什么是 Git Worktree？为什么这些工具和一些开发者会愿意用它？
1. 什么是 Git Worktree？ 简单来说，git worktree 允许你在同一个仓库中同时拥有多个工作目录。
“平行宇宙”模型 通常情况下，一个 Git 仓库只有一个工作目录（Working Directory）。当你执行 git checkout branch-b 时，Git 会直接修改你当前目录下的所有文件。如果你当前的代码还没写完（比如正在进行一项复杂的重构），你就得先执行 git stash 或者临时提交一个不完整的 commit，才能切换分支去修 Bug。
而 git worktree 就像是为你创建了多个“平行宇宙”：
主工作目录 (Main Worktree)：你通过 git clone 或 git init 创建的那个原始目录。 链接工作目录 (Linked Worktree)：你通过 git worktree add 创建的其他目录。 这些目录共享同一个 .git 文件夹（包括对象库、提交历史等），但它们各自检出了不同的分支，且互不干扰。
2. Worktree vs. Clone vs. Checkout 为了更直观地理解，我们可以通过下表进行对比：
特性 git checkout git clone git worktree 存储方式 单一目录切换 独立副本 多目录共享 .</description>
    </item>
    
  </channel>
</rss>
