
Git Town makes software development teams who use Git even more productive and happy. It adds additional Git commands that support GitHub Flow, Git Flow, the Nvie model, GitLab Flow, and other workflows more directly, and it allows you to perform many common Git operations faster and easier.
See www.git-town.com for documentation.
Commands
Git Town provides these additional Git commands:
Development Workflow
- git hack - cuts a new up-to-date feature branch off the main branch
- git sync - updates the current branch with all ongoing changes
- git new-pull-request - create a new pull request
- git ship - delivers a completed feature branch and removes it
Repository Maintenance
- git kill - removes a feature branch
- git prune-branches - delete all merged branches
- git rename-branch - rename a branch
- git repo - view the repository homepage
Configuration and Help
- git town - general Git Town help, view and change Git Town configuration
Installation
Git Town runs anywhere Git and Bash run.
Check out our installation instructions for more details.
Configuration
Git Town is configured on a per-repository basis. It requires two pieces of information.
- the main development branch
- the perennial branches
Upon first use in a repository, you will be prompted for this information.
Use the git town command to view or update your configuration at any time.
Documentation
In addition to the online documentation here,
you can run git town on the command line for an overview of the Git Town commands,
or git help <command> (e.g. git help sync) for help with an individual command.
Contributing
Found a bug or have an idea for a new feature?
Open an issue
or - even better - get down, go to town, and fire a feature-tested
pull request
our way! Check out our contributing guide to start coding.
FAQ
Does this force me into any conventions for my branches or commits?
Not at all. Git Town doesn’t require or enforce any particular naming convention or branch setup. It works with a wide variety of Git branching models and workflows.
Which Git branching models are supported by Git Town?
Git Town is so generic that it supports all the branching models that we are aware of, amongst others GitHub Flow, Git Flow, GitLab Flow, or even committing straight into the master branch!
How is this different from Git Flow?
Git Flow is a Git extension that provides specific and opinionated support for the powerful Git branching model with the same name. It doesn’t care too much about how you keep your work in sync with the rest of the team.
Git Town doesn’t care which branching model you use. It focusses on keeping your team synchronized and your code repository clean.
It is possible (and encouraged) to use the two tools together.
Is it compatible with my other Git tools?
Yes, we try to be good citizens. If you run into any issues with your setup, please let us know!