mcpField
G
git-worktree

git-worktree

github.com/majesticlabs-dev开发5049 次安装7 周前更新
代码仓库

关于 git-worktree

通过统一 shell 脚本管理 Git worktree,适合需要并行处理多个分支的开发者。它集中存放 worktree,并处理环境文件复制与清理。

主要功能

  1. 01创建、列出和切换 worktree
  2. 02将 worktree 存放在 .worktrees/
  3. 03自动复制 .env* 文件
  4. 04为存储目录更新 .gitignore
  5. 05移除已合并或过时的 worktree

适用场景

  1. 01在隔离分支中开发功能
  2. 02无需暂存更改即可评审 PR
  3. 03清理已完成或过时的 worktree

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill git-worktree

安装后在 Claude Code 中输入/git-worktree确认已加载。

附带文件scripts/worktree-manager.sh

详细介绍

Git Worktree 管理器

概述

此技能提供统一的 Git Worktree 管理界面,支持隔离的并行开发。通过 Worktree,您可以在不同目录中同时检出多个分支。

主要功能:

  • 自动将主仓库中的 .env 文件复制到新 Worktree
  • 统一存储在 .worktrees/ 目录中
  • 清理已合并和过期的 Worktree

何时使用此技能

  • 为功能开发创建隔离环境
  • 同时处理多个分支
  • 无需暂存当前工作即可审查 PR
  • 清理已完成的功能分支

重要:始终使用管理脚本

始终使用 worktree-manager.sh 脚本,而不是直接运行 git worktree 命令。该脚本会处理:

  • 自动将 .env 文件复制到新 Worktree
  • 统一存储在 .worktrees/ 目录中
  • 正确管理 .gitignore

核心命令

所有操作都使用统一的 worktree-manager.sh 脚本:

bash scripts/worktree-manager.sh <command> [options]
创建 Worktree
worktree-manager.sh create <branch-name> [source-branch]

在 .worktrees/<branch-name> 中创建新的 Worktree。如果分支已存在,则检出该分支;如果不存在,则从源分支(默认为 main/master)创建新分支。

列出 Worktree
worktree-manager.sh list

显示所有 Worktree 及其分支、提交和状态(干净/有修改/缺失)。

切换 Worktree
worktree-manager.sh switch <branch-name|path>

根据分支名称或路径,提供切换到某个 Worktree 的信息。

清理 Worktree
worktree-manager.sh cleanup [--force]

识别并移除:

  • 分支已合并的 Worktree
  • 远程分支已删除的 Worktree
  • Worktree 目录缺失的条目

使用 --force 可跳过确认提示。

复制环境文件
worktree-manager.sh copy-env [worktree-path|branch-name]

将主仓库中的 .env* 文件(不包括 .env.example)复制到某个 Worktree。适用于:

  • 为此功能推出前创建的现有 Worktree 添加环境文件
  • 主仓库更改后刷新环境文件

如果在 Worktree 中运行且未提供参数,则复制到当前位置。

存储

Worktree 存储在仓库根目录下的 .worktrees/ 中。此目录会自动添加到 .gitignore。

工作流示例

# Start new feature
worktree-manager.sh create feature-auth

# Work in the new worktree
cd .worktrees/feature-auth

# List all worktrees
worktree-manager.sh list

# When done, clean up
worktree-manager.sh cleanup

故障排除

现有 Worktree 中缺少 .env 文件

如果您已有在自动复制环境文件功能推出前创建的 Worktree:

bash scripts/worktree-manager.sh copy-env feature-branch

或者在 Worktree 目录中运行:

bash scripts/worktree-manager.sh copy-env

评论

支持 Markdown