Git Town is an open-source Git plugin. It adds Git commands that make collaborative software development more efficient and safe.

Git Town adds a layer of high-level commands to Git. They perform typical development workflow operations like creating or shipping feature branches, similar to how an expert Git user would do it. All while being as generic and unopinionated as Git.

It is intentionally generic and basic, though. Using it properly as a developer is cumbersome and repetitive. For example, correctly merging a finished feature branch requires up to 15 individual Git commands!

Git is a great foundation for source code management. It provides all required pieces of functionality, and supports many different ways of using it equally well.

Create a new pull request on GitHub or BitBucket for your current branch.

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!