Skip to content

git-town/git-town

Folders and files

NameName
Last commit message
Last commit date
Dec 26, 2024
Dec 25, 2024
Aug 6, 2023
Mar 28, 2025
Mar 29, 2025
Nov 27, 2022
Mar 29, 2025
Feb 15, 2025
Mar 26, 2025
Mar 20, 2025
Mar 24, 2025
Mar 29, 2025
Mar 13, 2025
Aug 20, 2024
Jun 22, 2024
Feb 4, 2025
Jan 7, 2025
Mar 20, 2025
Feb 13, 2024
Feb 2, 2024
Dec 2, 2022
Feb 24, 2023
Mar 20, 2025
Mar 28, 2025
Apr 16, 2024
Mar 28, 2025
Feb 12, 2025
Dec 26, 2024
Dec 27, 2024
Mar 24, 2025
Mar 24, 2025
Feb 11, 2025
Feb 12, 2025
Feb 12, 2025
Jan 13, 2025
Sep 15, 2024
Mar 1, 2025

Repository files navigation

Git Town logo
end-to-end test status unit test status linters and documentation test status windows tests Go report card status Netlify deploy status

Git Town provides additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches. Compatible with all popular Git workflows like Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Supports mono-repos and stacked changes. Check out this screencast for an introduction.

Basic development commands

  • hack - create a new up-to-date feature branch off the main branch
  • sync - update existing branches, remove shipped branches
  • switch - switch between branches via text UI
  • propose - create a pull or merge request for a feature branch

Stacked changes

  • append - insert a new branch as a child of the current branch
  • diff-parent - show the changes committed to a feature branch
  • merge - merge two adjacent branches in a stack into one
  • prepend - insert a new branch between the current branch and its parent
  • set-parent - update the parent of a branch

Limit branch syncing

  • contribute - add commits to somebody else's feature branch
  • observe - track somebody else's feature branch without contributing to it
  • park - stop syncing one of your feature branches
  • prototype - sync but don't push a branch

Dealing with errors

  • continue - resume the last run Git Town command after having resolved conflicts
  • skip - resume the last run Git Town command by skipping the current branch
  • status - displays or resets the current suspended Git Town command
  • undo - undo the most recent Git Town command

Setup and configuration

  • config - display or update your Git Town configuration
  • config setup - run the visual setup assistant
  • offline - start or stop running in offline mode
  • completions - auto-completions for bash, zsh, fish, and PowerShell

Advanced development commands

  • branch - display the local branch hierarchy
  • compress - squash all commits on feature branches down to a single commit
  • delete - remove a feature branch
  • rename - rename a branch
  • repo - view the repository homepage
  • ship - merge a completed feature branch and remove it

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