Skip to content
narnaudPublic

About

Weave your branches together into a single integration branch

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Latest commit

 

History

716 Commits

Folders and files

Repository files navigation

git-loom

git-loom

git-loom is a Git CLI tool that makes working with integration branches seamless. Inspired by tools like jujutsu and Git Butler, git-loom helps you work on multiple features simultaneously while keeping your branches organized and independent.

git-loom status

▶ Watch it in action: command line · TUI

Important

git-loom has been written with the help of AI, especially Claude

Documentation

Full documentation is available at https://narnaud.github.io/git-loom/

Commands

Workflow:
  init              Initialize a new integration branch
  update, up        Pull-rebase and update submodules
  push, pr          Push a branch to remote
  agent             Install the loom skill for AI agents

Staging:
  add               Stage files using short IDs or paths [-p for interactive hunks]

Commits:
  commit, ci        Create a commit on a feature branch [-p for interactive hunks]
  fold              Amend, fixup, or move commits [-p for interactive hunks] [amend, fixup, mv, rub]
  absorb            Auto-distribute changes into originating commits
  split             Split a commit into two [-p for interactive hunks]
  swap              Swap two commits
  reword, rw        Reword a commit message or rename a branch
  drop, rm          Drop a change, commit, or branch

Branches:
  branch, br        Create a feature branch
  merge             Merge an existing branch into integration
  unmerge           Remove a branch from integration (keeps the ref)
  switch, sw        Switch to any branch for testing (without merging)
  worktree, wt      Manage worktrees, each with its own integration branch (list by default, new, drop, path)

Inspection:
  status            Show the branch-aware status (default command)
  tui               Interactive status TUI (tree + diff, with actions)
  show, sh          Show commit details (like git show)
  diff, di          Show a diff using short IDs (like git diff)
  trace             Show the latest command trace

Recovery:
  continue, cont    Resume a paused operation after resolving conflicts
  abort             Cancel a paused operation and restore original state

Installation

cargo install git-loom

See the installation guide for more options (Scoop, pre-built binaries, from source).

Contributing

Contributions are welcome!

Pre-commit Setup

This project uses pre-commit to manage Git hooks. Install the hooks with:

pre-commit install --install-hooks

This ensures commit messages and code quality checks run automatically before each commit.

License

MIT License - Copyright (c) Nicolas Arnaud-Cormos

See LICENSE file for details.

Acknowledgments

Inspired by:

  • jujutsu - A Git-compatible VCS with powerful features for managing complex workflows
  • Git Butler - A Git client that makes working with virtual branches easy

About

Weave your branches together into a single integration branch

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages