Git workflow automation to keep branches in sync and reduce merge conflicts.
Git Town 10 improves support for shipping branches via the code hosting web UI instead of running git ship
. After merging your branches remotely, run git sync --all
to sync all local branches and remove the ones shipped at the remote. Don't worry, Git Town ensures deleted branches don't contain unshipped changes. git undo
brings deleted branches back.
Git Town 10 has improved performance, robustness, and reliability thanks to a large-scale modernization of the Git Town's architecture. Git Town now runs fewer Git commands under the hood to investigate the state of your Git repository. git undo
now works for all commands thanks to a new undo engine that diffs the before and after state of your Git repo.
Git Town 10 starts a larger effort to remove redundant commands and make Git Town's configuration options more consistent and intuitively named.
git sync
now also removes local branches with a deleted tracking branch, after verifying that those local branches contain no unshipped changes (#2038)git town prune-branches
has been sunset, run git sync
instead (#2579)git town status reset
to avoid runtime errors (#2446)git ship
no longer ships branches that exist solely at the remote. Moving forward branches to ship must exist on your local machine. Use the web UI of your code hosting service to ship remote branches. (#2367, #2372)git kill
no longer deletes branches that exist solely at the remote. Delete them by running git push origin :branchname
or via the web UI of your code hosting service (#2368)git hack
no longer has the -p
option. Use git append
and git prepend
instead (#2577)git-town --version
instead of git-town version
(#2603)debug
parameter to verbose
because all it does is print more information (#2598)git undo
works for all commands now (#2484)git town switch
now displays the output of the command to switch branches (#2602)Git Town 9.0 supports the new API URLs that become official in GitLab v16. If you use an older version of GitLab, Git Town's integration with GitLab's API might no longer work. The fix is to update your GitLab installation to at least v15 (#2249)
GITHUB_TOKEN
or GITHUB_AUTH_TOKEN
in addition to the already existing
option to store it in the Git configuration
(#2217)Some ergonomics improvements that change existing command names, hence the major
version bump. If you use the shorter aliases for Git Town commands, please run
git town aliases add
after updating to v8.0.
new-branch-push-flag
command to push-new-branches
(#1980)config
command (#1963,
#1976)install
command (#1969)git town completion
and git town completions
commands
under git town install completions
(#1969,
#1970)git town alias true
to git town install aliases add
and ... remove
(#1965,
#1966,
#1968)push-verify
configuration option to push-hook
(#1989)push-verify
configuration settings to the new
push-hook
(#2209)git set-parent-branch
to git set-parent
(#2114)~/.config
)
instead of the global temp dir
(#2126)git town switch
command allows switching branches via a UI that
visualizes the branch hierarchy
(#2106,
#2108)git town diff-parent
to git diff-parent
(#2128)push-hook
config setting
(#1991)git town sync-strategy (merge | rebase)
pre-push
hook using the new push-verify
option (#1958)