High-level command line interface for Git

Programming language: Go
License: MIT License
Tags: Productivity     Command Line     Go Tools     Tools     Client    
Latest version: v7.5.0

Git Town alternatives and similar packages

Based on the "Command Line" category.
Alternatively, view Git Town alternatives based on common mentions on social networks and blogs.

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

Add another 'Command Line' Package


Git Town

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

Git Town makes Git more efficient, especially for large teams. See this screencast for an introduction and this Softpedia article for an independent review.


Git Town provides these additional Git commands:

Development Workflow

Repository Maintenance

Git Town Configuration

Git Town Installation


See the installation instructions for more details.


Git Town commands can be aliased to remove the town prefix:

git town alias true

After executing this, you can run git hack instead of git town hack. You can also set this manually for individual commands:

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


Git Town prompts for required configuration information during usage. Use the git town config command to manage the stored configuration.

Required configuration

Optional Configuration

These configuration options have defaults, so the configuration wizard does not ask about them.

  • pull branch strategy

    • how to sync the main branch / perennial branches with their upstream
    • default: rebase
    • possible values: merge, rebase
  • 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


Run git town for an overview of the Git Town commands and git help <command> (e.g. git help sync) for help with individual commands.


  • Is this compatible with my workflow? Yes. Git Town is compatible with GitHub Flow, Git Flow, the Nvie model, GitLab Flow, and most others workflows.

  • Does my whole team have to use Git Town? No. Just make sure that all feature branches get squash-merged, for example by requiring this in your GitHub settings. If you don't know what squash-merges are, you probably want to enable them.


Found a bug or have an idea for a new feature? Open an issue or send a pull request! Check out our contributing and [developer](documentation/development/README.md) guides to get started.


Thanks to our sponsors for their continued support!


Kudos to our contributors!

@kevgo @charlierudolph @allewun @ricmatsui @redouglas @allonsy @blaggacao @aricahunter @jiexi @iamandrewluca @ChrisMM @zhangwei @tallpants @seanstrom @schneems @morrme @mjhm @luketlancaster @ecbrodie @doismellburning @dgjnpr @atilacamurca @Zearin @TKAB @Siilwyn @WurmD @sgarfinkel @cirego @sheldonhull @alphatroya @joshRpowell @pattiereaves @zenspider @Iron-Ham @grignaak @ericyliu @natecox @shadowhand @hmbrg @qrevel @aeneasr @martinjaime @alexw10 @alexdavid @Braunson

Stargazers over time

Stargazers over time

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