Repolode
k1LoW

k1LoW/git-wt

简化 git worktree 操作的 Git 子命令,可按分支或目录名切换、创建、删除和重命名工作树。

Star
562
Fork
25
未关闭 Issue
12
最近提交
23天前

这是什么?

git-wt 是一个 Git 子命令,对 `git worktree` 做了更简洁的封装。执行 `git wt <分支>` 即可切换到已有工作树,若不存在则自动创建工作树和对应分支。它还支持列出工作树(可输出 JSON)、删除,以及同时重命名目录和分支。

创建新工作树时,工具可处理常见的初始化工作:按规则复制被 .gitignore 忽略的文件、未跟踪或已修改的文件,或用符号链接代替复制 node_modules 等大目录。创建后可运行安装依赖等钩子命令,删除前也可执行清理钩子。配置通过 git config 完成,大部分选项还能在单次命令中覆盖。

针对 zsh、bash、fish 和 PowerShell 提供 shell 集成,支持自动切换目录和命令补全。安全删除会拒绝移除有未提交修改的工作树,默认分支也受保护,避免误删。

核心功能

  • 01通过 `git wt <分支>` 一条命令完成切换或创建工作树和分支。
  • 02安全删除会保留未提交的修改和未合并的分支,同时提供强制删除选项。
  • 03可同时重命名工作树目录和对应分支。
  • 04可将被忽略、未跟踪或已修改的文件复制到新工作树,或用符号链接共享大目录。
  • 05支持在创建后或删除前运行自定义钩子命令。
  • 06提供 zsh、bash、fish 和 PowerShell 的 shell 集成及命令补全。

适用场景

  • 不用 stash 或切换分支,就能在同一仓库中同时处理多个分支。
  • 在单独目录中审查 Pull Request,同时保持当前工作区不变。
  • 通过符号链接在多个工作树间共享 node_modules 等大依赖目录,节省磁盘空间和初始化时间。
  • 结合 fzf、peco 或 tmux 实现交互式工作树选择。

快速上手

  1. 1

    使用 Go 安装

    go install github.com/k1LoW/git-wt@latest
  2. 2

    或使用 Homebrew 安装

    brew install k1LoW/tap/git-wt
  3. 3

    列出仓库中的工作树

    git wt
  4. 4

    切换到或创建分支对应的工作树

    git wt feature-branch

使用前须知

  • bash、fish 和 PowerShell 的自动切换目录功能为实验性质。

收录于专题

标签

常见问题

git-wt 是什么?
简化 git worktree 操作的 Git 子命令,可按分支或目录名切换、创建、删除和重命名工作树。 git-wt 是一个 Git 子命令,对 `git worktree` 做了更简洁的封装。执行 `git wt <分支>` 即可切换到已有工作树,若不存在则自动创建工作树和对应分支。它还支持列出工作树(可输出 JSON)、删除,以及同时重命名目录和分支。
git-wt 可以免费使用吗?用的什么许可证?
git-wt 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
git-wt 还在维护吗?
活跃维护中。git-wt 最近一次提交是在 2026年10月15日。
git-wt 适合用来做什么?
不用 stash 或切换分支,就能在同一仓库中同时处理多个分支。 在单独目录中审查 Pull Request,同时保持当前工作区不变。 通过符号链接在多个工作树间共享 node_modules 等大依赖目录,节省磁盘空间和初始化时间。 结合 fzf、peco 或 tmux 实现交互式工作树选择。
git-wt 怎么安装和运行?
使用 Go 安装: go install github.com/k1LoW/git-wt@latest 或使用 Homebrew 安装: brew install k1LoW/tap/git-wt 列出仓库中的工作树: git wt 切换到或创建分支对应的工作树: git wt feature-branch
在哪里获取 git-wt?
源代码和安装说明在 GitHub 上:https://github.com/k1LoW/git-wt

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目