Git Town provides additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches. Compatible with all popular Git workflows like Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Supports mono-repos and stacked changes. Check out this screencast for an introduction.
- hack - create a new up-to-date feature branch off the main branch
- sync - update existing branches, remove shipped branches
- switch - switch between branches via text UI
- propose - create a pull or merge request for a feature branch
- append - insert a new branch as a child of the current branch
- diff-parent - show the changes committed to a feature branch
- prepend - insert a new branch between the current branch and its parent
- set-parent - update the parent of a branch
- contribute - add commits to somebody else's feature branch
- observe - track somebody else's feature branch without contributing to it
- park - stop syncing one of your feature branches
- prototype - sync but don't push a branch
- continue - restart the last Git Town command after having resolved conflicts
- skip - restart the last run Git Town command by skipping the current branch
- status - displays or resets the current suspended Git Town command
- undo - undo the most recent Git Town command
- config - display or update your Git Town configuration
- config setup - run the visual setup assistant
- offline - start or stop running in offline mode
- compress - squash all commits on feature branches down to a single commit
- delete - remove a feature branch
- rename - rename a branch
- repo - view the repository homepage
- ship - merge a completed feature branch and remove it
See the installation and configuration instructions.
The Git Town website provides documentation for Git
Town users. git town help [command]
shows help on the CLI.
Found a bug or have an idea for a new feature? Open an issue or send a pull request! Our developer documentation helps you get started.