#Git Pivotal
##Prelude You might want to have this song running in the background while you read this.
##Let's Git Pivotal Inspired by Hashrocket's blend of git and Pivotal Tracker and a popular article on effective git workflows, I set off to create a set of utilities to simplify the workflow between the two.
###Git Pick
The original git pick
has been deprecated. Three new commands take its place: git feature
, git bug
and git chore
, which collects the top-most available feature, bug or chore (respectively) from your Pivotal Tracker, and offers to create a feature branch.
1 git-pick:master % git feature
Collecting latest stories from Pivotal Tracker...
Story: Test git pivotal
URL: http://www.pivotaltracker.com/story/show/1234567
Updating story status in Pivotal Tracker...
Enter branch name (will be prepended by 1234567) [feature]: testing
Creating 1234567-testing branch...
2 git-pick:1234567-testing %
###Git Finish When on a feature branch, this command will close the associated story in Pivotal Tracker, merge the branch into the develop branch and remove the feature branch.
3 git-pick:1234567-testing % git finish
Marking Story 1234567 as finished...
Merging 1234567-testing into develop
Removing 1234567-testing branch
4 git-pick:develop %
##Installation To install git-pivotal, simply run
[sudo] gem install git-pivotal
git config --global pivotal.api-token 9a9a9a9a9a9a9a9a9a9a
git config --global pivotal.full-name "Jeff Tucker"
The project id is best placed within your project's git config:
git config -f .git/config pivotal.project-id 88888
If you're not interested in storing these options in git, you can pass them into git pivotal as command line arguments. See the usage guides for more details.
Optionally, if you only want to pick up bugs/features/chores that are already assigned to you, set:
git config -f .git/config pivotal.only-mine 1
##TODO
This is some seriously alpha software. Several things on the ol' todo list:
Create a general Pivotal::Base#update_attributes methodgit pick
doesn't update the story to indicate who claimed itAdd command to close/finish currently 'picked' featureReduce verbosity ofgit pick
- Allow users to define their development branch name for
git finish
- More that I can't recall at the moment