Git Town makes software development teams who use Git even more productive and happy. It adds 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 git-town.com for documentation.
Git Town provides these additional Git commands:
- git town-hack - cuts a new up-to-date feature branch off the main branch
- git town-sync - updates the current branch with all ongoing changes
- git town-new-pull-request - create a new pull request
- git town-ship - delivers a completed feature branch and removes it
- git town-kill - removes a feature branch
- git town-prune-branches - delete all merged branches
- git town-rename-branch - rename a branch
- git town-append - insert a new branch as a child of the current branch
- git town-prepend - insert a new branch between the current branch and its parent
- git town-repo - view the repository homepage
Configuration and Help
- git town - general Git Town help, view and change Git Town configuration
Each command can be aliased individually to remove the
town- prefix with:
git config --global alias.hack town-hack
As a convenience, you can add or remove global aliases for all
git-town commands with:
git town alias <true | false>
Git Town is configured on a per-repository basis. Upon first use in a repository, you will be prompted for the required configuration. Use the git town command to view or update your configuration at any time.
- the main development branch
- the perennial branches
The following configuration options have defaults, so the configuration wizard does not ask about them.
the pull branch strategy
- how to sync the main branch / perennial branches with their upstream
- possible values:
the git-hack push flag
- whether or not newly-hacked branches should be pushed to remote repo
- possible values:
In addition to the online documentation here,
you can run
git town on the command line for an overview of the Git Town commands,
git help <command> (e.g.
git help sync) for help with an individual command.