Token导航 LogoToken导航TokenDH.com
运维和基础设施external-servicegithub未标认证来源可访问clear审计通过

gitbutler-virtual-branchesgitbutler 虚拟分支

Agent Skill

gitbutler-virtual-branches 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

318

周安装

13

GitHub Stars

26

下载量

102
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:gitbutler-virtual-branches(gitbutler 虚拟分支)
来源仓库:https://github.com/outfitter-dev/agents
仓库路径:skills/gitbutler-virtual-branches
安装命令:
npx skills add https://github.com/outfitter-dev/agents --skill gitbutler-virtual-branches
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/outfitter-dev/agents --skill gitbutler-virtual-branches

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装使用。
  • 建议确认权限范围和维护状态,注意可能触发联网或文件操作。
  • 可结合原始 README 进一步了解具体功能和使用方法。

SKILL.md

GitButler Virtual Branches

Virtual branches → parallel development → post-hoc organization.

<when_to_use>

  • Multiple unrelated features in same workspace simultaneously
  • Multi-agent concurrent development (agents in same repo)
  • Exploratory coding where organization comes after writing
  • Post-hoc commit reorganization needed
  • Visual organization preferred (GUI + CLI)

NOT for: projects using Graphite (incompatible models), simple linear workflows (use plain git)

</when_to_use>

This, Not That

TaskThisNot That
Initialize workspacebut setupmanual setup
Create branchbut branch new namegit checkout -b name
View changesbut statusgit status
Assign file to branchbut rub <file-id> <branch>manual staging
Commit to branchbut commit <branch> -m "msg"git commit -m "msg"
Move commitbut rub <sha> <branch>git cherry-pick
Squash commitsbut squash <branch>git rebase -i
Undo operationbut undogit reset
Switch contextCreate new branchgit checkout

Key difference from Git: All branches visible at once. Organize files to branches after editing. No checkout.

Core Concepts

ConceptDescription
Virtual branchesMultiple branches applied simultaneously to working directory
Integration branchgitbutler/workspace tracks virtual branch state — never touch directly
Target branchBase branch (e.g., origin/main) all work diverges from
File assignmentAssign file hunks to branches with but rub
OplogOperations log for undo/restore — your safety net

Quick Start

# Initialize (one time)
but setup

# Create branch
but branch new feature-auth

# Make changes, check status for file IDs
but status
# ╭┄00 [Unassigned Changes]
# │   m6 A src/auth.ts

# Assign file to branch using ID
but rub m6 feature-auth

# Commit
but commit feature-auth -m "feat: add authentication"

Core Loop

  1. Create: but branch new <name>
  2. Edit: Make changes in working directory
  3. Check: but status to see file IDs
  4. Assign: but rub <file-id> <branch-name>
  5. Commit: but commit <branch> -m "message"
  6. Repeat: Continue with other features in parallel

The Power of but rub

Swiss Army knife — combines entities to perform operations:

SourceTargetOperation
File IDBranchAssign file to branch
File IDCommitAmend commit with file
Commit SHABranchMove commit between branches
Commit SHACommit SHASquash (newer into older)

Essential Commands

CommandPurpose
but setupInitialize GitButler in repository
but statusView changes and file IDs
but branch new <name>Create virtual branch
but branch new <name> --anchor <parent>Create stacked branch
but rub <source> <target>Assign/move/squash/amend
but commit <branch> -m "msg"Commit to branch
but commit <branch> -o -m "msg"Commit only assigned files
but absorbAuto-amend uncommitted changes to appropriate commits
but squash <commits>Squash commits (by IDs, range, or branch)
but show <id>Inspect a commit or branch in detail
but resolve <commit>Enter conflict resolution mode
but pushPush branches to remote
but pr newCreate/update PRs on forge
but config forge authAuthenticate with GitHub (OAuth)
but mark <branch>Auto-assign new changes to branch
but unmarkRemove all mark rules from workspace
but oplogShow operation history
but undoUndo last operation
but oplog snapshot --message "msg"Create manual snapshot
but pullUpdate workspace with latest base
but guiOpen GitButler GUI for current repo

JSON output: Use --json or -j flag on any command: but status --json

Parallel Development

# Create two independent features
but branch new feature-a
but branch new feature-b

# Edit files for both (same workspace!)
echo "Feature A" > feature-a.ts
echo "Feature B" > feature-b.ts

# Assign to respective branches
but rub <id-a> feature-a
but rub <id-b> feature-b

# Commit independently
but commit feature-a -m "feat: implement feature A"
but commit feature-b -m "feat: implement feature B"

# Both branches exist, zero conflicts, same directory

Conflict Handling

GitButler handles conflicts per-commit during rebase/update (unlike Git's all-or-nothing model):

  1. Rebase continues even when some commits conflict
  2. Conflicted commits marked in UI/status
  3. Use but resolve to enter resolution mode per commit
  4. Partial resolution can be saved for later
# Update base (may cause conflicts)
but pull

# Check which commits have conflicts
but status

# Enter resolution mode for a specific commit
but resolve <commit-id>

# Fix conflicts in your editor, then check remaining
but resolve status

# Finalize when done (or cancel to abort)
but resolve finish

For detailed conflict resolution workflows, see references/reference.md#conflict-resolution.

Auto-Assignment with Marks

Set up workspace rules to auto-assign files to branches:

# Auto-assign new changes to auth-feature branch
but mark auth-feature

# Remove all rules
but unmark

Useful for multi-agent workflows where changes should route to a specific branch.

ALWAYS:

  • Use but for all work within virtual branches
  • Use git only for integrating completed work into main
  • Return to gitbutler/workspace after git operations: git checkout gitbutler/workspace
  • Snapshot before risky operations: but oplog snapshot --message "..."
  • Assign files immediately after creating: but rub <id> <branch>
  • Check file IDs with but status before using but rub

NEVER:

  • Use git commit on virtual branches — breaks GitButler state
  • Use git add — GitButler manages index
  • Use git checkout on virtual branches — no checkout needed
  • Push gitbutler/integration to remote — it's local-only
  • Mix Graphite and GitButler in same repo — incompatible models
  • Pipe but status directly — causes panic; capture output first: status_output=$(but status) echo "$status_output" | head -5

Troubleshooting

SymptomSolution
Files not committingAssign first: but rub <file-id> <branch>
Broken pipe panicCapture output: output=$(but status)
Mixed git/but broke statebut pull or but setup
Lost workbut undo or but oplog restore <snapshot-id>

For detailed troubleshooting (branch tracking, conflicts, filename issues), see references/reference.md#troubleshooting-guide.

Recovery

Quick undo: but undo | Full restore: but oplog restore <snapshot-id> | View history: but oplog

For recovery from lost work or corrupted state, see references/reference.md#recovery-scenarios.

Reference Files

  • references/reference.md — Complete CLI reference, JSON schemas, troubleshooting
  • references/examples.md — Real-world workflow patterns with commands
  • references/ai-integration.md — Hooks, MCP server, agent lifecycle

Related Skills

External

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

github-copilot

27.83%
按下载量换算28

Cursor

21.48%
按下载量换算22

Codex

17.88%
按下载量换算18

kilo

12.76%
按下载量换算13

windsurf

7.7%
按下载量换算8

zencoder

3.37%
按下载量换算3

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills