High-level command line interface for Git

Programming language: Gherkin
Tags: Productivity     Command Line     Go Tools     Tools     Client    
Latest version: v7.3.0

Git Town alternatives and similar packages

Based on the "Command Line" category

Do you think we are missing an alternative of Git Town or a related project?

Add another 'Command Line' Package


Git Town

Build Status Go Report Card [License](LICENSE) Help Contribute to Open Source

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 and this Softpedia article for an independent review.


Git Town provides these additional Git commands:

Development Workflow

Repository Maintenance

Git Town Configuration

Other Commands


Since version 4.0, Git Town runs natively on all platforms without any dependencies. Check out our installation instructions for more details.


Each command can be aliased individually to remove the town prefix with:

git config --global alias.hack 'town hack'

Now you can run git hack instead of git 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 config command to view or update your configuration at any time.

Required configuration

Optional Configuration

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
    • default: rebase
    • possible values: merge, rebase
  • the new branch push flag

    • whether or not branches created by hack / append / prepend should be pushed to remote repo
    • default: false
    • possible values: true, false


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.


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.

*Note that all licence references and agreements mentioned in the Git Town README section above are relevant to that project's source code only.