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 "http://github.com/cypher/thor-git/tree/master/git.thor?raw=true"
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.
$ 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.