Useful Git eXtensions for Development workflow at The Garage.
Inspired by the socialcast-git-extensions gem
--trace
or-v
= verbose output for debugging commands--pretend
or-p
= dry run commands and do not actually invoke operations
update local repository with latest upstream changes and create a new feature branch
update the local feature branch with latest remote changes plus upstream released changes.
integrate the current feature branch into an aggregate branch (ex: prototype, staging)
options:
--comment
or-c
= Add a comment about the integration to an existing PR for the working branch. Create a new PR for that branch if one does not exist.--resume
or-r
= Resume integration after resolving a merge conflict on the aggregate branch.
create a pull request on github for peer review of the current branch. This command is re-runnable in order to re-assign pull requests.
options:
--assign
or-a
= assign pull request to github user--open
or-o
= open pull request in default web browser.--bump
or-b
= bump an existing pull request by posting a comment to re-review new changes--approve
= approve/signoff on pull request (with optional feedback)--reject
= reject pull request (with details)
NOTE: the --bump
option will also update the pull request commit status to mark the branch as 'pending peer review'.
This setting is cleared when a reviewer approves or rejects the pull request.
release the feature branch to master. This operation will perform the following:
- pull latest code from remote feature branch
- pull latest code from master branch
- prompt user to confirm they actually want to perform the release
- check if pull request commit status is currently successful
- merge current branch into master
- (optional) cleanup merged branches from remote server
options:
--cleanup
= automatically cleanup merged branches after release complete
delete released branches after they have been merged into master.
reset an aggregate branch (ex: prototype, staging) back to a known good state.
create a build tag for the current Travis-CI build and push it back to origin
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Copyright (c) 2013 The Garage, Inc. See LICENSE for details.