Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (34 sloc) 1.89 KB


Here are a few Thor tasks to make developing with Git easier (and some corresponding Git aliases to
make invoking them easier). Install them with:

$ thor install git.thor

Or, if you don’t want to actually download this stuff, just use:

$ thor install ""

You can add the git aliases by copying them into the corresponding section of your global .gitconfig.

The tasks are designed around a particular workflow in which you primarily develop against a single upstream that you git-push or git-svn dcommit to. In this workflow master typically mirrors this upstream, and little or no work is done on master. Instead you branch off master with thor git:open and then commit as you go, using thor git:push to send your changes upstream, and finally using thor git:close to delete the branch when you’re done with it.

Let me say it again, because it’s very important: all these tasks assume that master is the nexus of your local branches and the portal to your remote branch.

Common Commands

$ thor git:update

Updates your current git repository, autodetecting whether you have a regular ol’ git project or a
git-svn project.

$ thor git:push

Commits any changes in your current branch not yet pushed upstream and ports ’em over to master.

$ thor git:open [mynewbranch]

Creates a new branch off master. Think of this as opening an issue, or a new path of development.

$ thor git:close [mynewbranch]

This is open’s brother, and should be used when you finish something and have already moved it to
master or upstream. If you haven’t yet, don’t worry – this won’t eat your data.


Brian Donovan (aka eventualbuddha) created the original sake-git task set, which can be found on GitHub.