Skip to main content

Customizable git worktree manager

Project description

autowt: a better git worktree experience

Full documentation

What are worktrees?

Worktrees are a built-in feature of git, which are essentially free clones of a local git repo. History is shared and synced across all worktrees for a given repo. Creating a new worktree is cheap, and you can list all your worktrees with a single command. This makes them a great fit for doing work “in parallel,” or not worrying about having uncommitted changes before working on another branch.

How autowt simplifies common workflows

While worktrees are powerful, the built-in tooling is minimalistic. Consider what it takes to set up a fresh worktree in a typical workflow:

  1. Make a decision about where to put the worktree
  2. git worktree add <worktree_path> -b <branch>
  3. Open a new terminal tab
  4. cd <worktree path>
  5. uv sync or npm install or whatever your dependency setup is
  6. cp <repo_dir>/.env . to copy secrets

Congrats, you're done! Type type type, open a PR, and merge it. Now you need to clean up:

  1. git worktree rm .
  2. Close the tab

On the other hand, with autowt, it looks like this:

autowt <branch>

And deleting branches that have been merged or are associated with closed PRs looks like this:

autowt cleanup

A lot nicer, right?

Now suppose your team uses an issue tracker like Linear which can suggest branch names based on issue IDs. You could configure autowt to have a custom command to automatically open worktrees for tickets instead of passing a branch name:

autowt linear ABC-1234 # opens yourname/abc-1234-title-of-the-ticket or whatever

What autowt can do for you

What autowt can do for you:

Getting started

You'll need Python 3.10+ and a version of git released less than ten years ago (2.5+).

First, install autowt:

pip install autowt

Then, make a new worktree for a new or existing branch in your current repo:

autowt my-new-feature

Watch as autowt creates a new worktree and opens it in a new terminal tab or window.

Contributing

PRs, GitHub issues, discussion topics, bring 'em on!

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autowt-0.5.2.tar.gz (185.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autowt-0.5.2-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file autowt-0.5.2.tar.gz.

File metadata

  • Download URL: autowt-0.5.2.tar.gz
  • Upload date:
  • Size: 185.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autowt-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d6f4cec205e47b1d21f895fe73ae078b7d97746fce5fdb66f4b1d585889d5fa7
MD5 2b85608c4db491a084fdd20797e4e69f
BLAKE2b-256 3f675f4e6306f20bc5f52a0787c7f4a744b1d32b5dfc7d0988479238cf2d462b

See more details on using hashes here.

Provenance

The following attestation bundles were made for autowt-0.5.2.tar.gz:

Publisher: pypi.yml on irskep/autowt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autowt-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: autowt-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autowt-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9231c3f95d2c7a93c35aee6583fd5f4d55fd45345b7e4a62589b1c236a42089c
MD5 fbeab188116b184ddafef6c0f729053c
BLAKE2b-256 e81bf2f3b785d323b4c8b18ac32aeb09e3aef11f7dd9905d6841ff0215396d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for autowt-0.5.2-py3-none-any.whl:

Publisher: pypi.yml on irskep/autowt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page