/git-town

Git workflow automation to keep branches in sync and reduce merge conflicts.

Primary LanguageGoMIT LicenseMIT

Git Town logo
end-to-end test status unit test status Go report card status Help Contribute to Open Source Netlify deploy status

Git Town reduces merge conflicts by keeping Git branches better in sync. Compatible with all major Git workflows including Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Check out this screencast for an introduction.

Typical development commands

  • git hack - create a new up-to-date feature branch off the main branch
  • git sync - update the current branch with all ongoing changes
  • git new-pull-request - create a new proposal
  • git ship - merge a completed feature branch and remove it

Advanced development commands

Nested feature branches

  • git append - insert a new branch as a child of the current branch
  • git prepend - insert a new branch between the current branch and its parent
  • git set-parent - updates a branch's parent

Setup/configuration

Installation

See the installation and configuration instructions.

Documentation

The Git Town website provides documentation for Git Town users. git town help [command] shows help on the CLI.

Contributing

Found a bug or have an idea for a new feature? Open an issue or send a pull request! Our developer documentation helps you get started.

Stargazers over time