The hack command ("let's start hacking") creates a new feature branch with the given name off the main branch and brings all uncommitted changes over to it. Before it does that, it syncs the main branch to ensure commits into the new branch are on top of the current state of the repository.
If the repository contains a remote called
upstream, it also syncs the main
branch with its upstream counterpart. You can control this behavior with the
If push-new-branches is set,
git hack creates a
remote tracking branch for the new feature branch. This behavior is disabled by
default to make
git hack run fast. The first run of
git sync will create the
remote tracking branch.