Branch Deck is a workaround for performance issues with GitButler on large repositories.
Automatically create Git branches from commits with prefixed messages. Organize your work into separate branches without manual branch management.

Branch Deck creates Git branches from your commits based on message prefixes. Commits with the same prefix get cherry-picked into their own dedicated branch.
Branch Deck analyzes your commit history and creates separate branches based on commit message patterns. There are two distinct kinds of “prefixes” to be aware of:
(feature-auth) at the start of a commit subject. This is used only to group commits on the main branch (HEAD). It is not persisted on virtual/archived branches and not present after integration into main.username) configured via git config branchdeck.branchPrefix. This becomes the first path segment under refs/heads, e.g. refs/heads/username/....Use the (name) format in your commit messages on main:
(feature-auth) are grouped into a virtual branch at username/virtual/feature-auth(bugfix-login) are grouped into username/virtual/bugfix-loginWhen Branch Deck creates or updates those virtual branches, the cherry-picked commit subjects are stored without the grouping prefix (e.g. Add login, not (feature-auth) Add login).
If no explicit prefix is found, Branch Deck automatically detects issue numbers (e.g., JIRA-123, ABC-456) in the first line of the commit message on main:
IJPL-163558: Fix observability are grouped into username/virtual/IJPL-163558[threading] IJPL-163558: Fix observability also go to username/virtual/IJPL-163558[subsystem] are ignored when grouping by issue numbers(name) take precedence over issue numbersSee docs/design/virtual-branches.md for details about branch structure and storage.
This allows you to maintain a clean, organized Git history while working on multiple features simultaneously.
(feature-auth/oauth)) are not currently implemented.(name) prefixes or use issue numbers in your commit messagesFor technical architecture and design decisions:
See DEVELOPMENT.md for development setup and contribution guidelines.
Rust
47.8%
HTML
27.3%
TypeScript
15.9%
Vue
8.5%
Branch Deck is a workaround for performance issues with GitButler on large repositories.
Automatically create Git branches from commits with prefixed messages. Organize your work into separate branches without manual branch management.

Branch Deck creates Git branches from your commits based on message prefixes. Commits with the same prefix get cherry-picked into their own dedicated branch.
Branch Deck analyzes your commit history and creates separate branches based on commit message patterns. There are two distinct kinds of “prefixes” to be aware of:
(feature-auth) at the start of a commit subject. This is used only to group commits on the main branch (HEAD). It is not persisted on virtual/archived branches and not present after integration into main.username) configured via git config branchdeck.branchPrefix. This becomes the first path segment under refs/heads, e.g. refs/heads/username/....Use the (name) format in your commit messages on main:
(feature-auth) are grouped into a virtual branch at username/virtual/feature-auth(bugfix-login) are grouped into username/virtual/bugfix-loginWhen Branch Deck creates or updates those virtual branches, the cherry-picked commit subjects are stored without the grouping prefix (e.g. Add login, not (feature-auth) Add login).
If no explicit prefix is found, Branch Deck automatically detects issue numbers (e.g., JIRA-123, ABC-456) in the first line of the commit message on main:
IJPL-163558: Fix observability are grouped into username/virtual/IJPL-163558[threading] IJPL-163558: Fix observability also go to username/virtual/IJPL-163558[subsystem] are ignored when grouping by issue numbers(name) take precedence over issue numbersSee docs/design/virtual-branches.md for details about branch structure and storage.
This allows you to maintain a clean, organized Git history while working on multiple features simultaneously.
(feature-auth/oauth)) are not currently implemented.(name) prefixes or use issue numbers in your commit messagesFor technical architecture and design decisions:
See DEVELOPMENT.md for development setup and contribution guidelines.
Rust
47.8%
HTML
27.3%
TypeScript
15.9%
Vue
8.5%