A WORKFLOW LAYER ON TOP OF VANILLA GIT
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.
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 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.