Git 工作树

Git 高级

Amanda Crawford-Adamo

Software and Data Engineer

什么是 Git 工作树?

Git 工作树命令

git worktree
  • 可在同一工作区"检出"多个分支。
  • 类似仓库检出,但更高效
  • 无需暂存未提交更改
  • 开发中无需在分支间切换

由圆点和线条组成的假树

Git 高级

Git 工作树 vs Git Switch

此表对比在开发流程中使用 git worktree 与 git switch。 $$

Git 工作树 Git Switch
多个活动分支 同一时间仅一个活动分支
独立目录 单一工作目录
无需暂存更改 可能需要暂存
Git 高级

创建 Git 工作树

从 <branch> 创建新工作树到目录 <path>

git worktree add <path> <branch>

示例

bugfix/data-validation 分支创建新工作树到 ../etl-bugfix 目录

git worktree add ../etl-bugfix bugfix/data-validation
Git 高级

列出与移除工作树

  • 列出所有活动工作树: git worktree list

示例输出

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • 从 <path> 移除一个工作树:git worktree remove <path>

示例输出

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
Git 高级

何时使用 Git 工作树

适用场景:

  • 同时开发多个功能
  • 处理紧急修复且不影响当前开发
  • 并行在不同分支上跑测试
  • 代码评审与开发并行

谨慎使用:

  • 磁盘空间有限
  • 频繁更新、合并复杂的项目
Git 高级

Git 工作树最佳实践

使用 Git 工作树的注意事项:

  1. 为工作树目录使用清晰的命名规范
  2. 定期清理未用的工作树,保持整洁
  3. 注意磁盘占用,尤其是大项目
  4. 仅用于短期并行开发,避免混淆
Git 高级

Vamos praticar!

Git 高级

Preparing Video For Download...