Giter Site home page Giter Site logo

gitx's Introduction

Build Status Code Coverage Code Climate

GitX

Git eXtensions for improved development workflows

These custom scripts are automatically registered into the git namespace so they are available without learning any new commands!

Installation

$ gem install gitx

git start <new_branch_name (optional)>

update local repository with latest upstream changes and create a new feature branch

options:

  • --issue or -i = reference to github issue id this branch is related to

git update

update the local feature branch with latest remote changes plus upstream released changes.

git integrate <aggregate_branch_name (optional, default: staging)>

integrate the current feature branch into an aggregate branch (ex: prototype, staging)

git review <feature_branch_name (optional, default: current_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.

git release <feature_branch_name (optional, default: current_branch)

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

Extra Utility Git Extensions

git cleanup

delete released branches after they have been merged into master.

git nuke <aggregate_branch_name>

reset an aggregate branch (ex: prototype, staging) back to a known good state.

git buildtag

create a build tag for the current Travis-CI build and push it back to origin

options:

  • --branch = configure the branch name related to the build tag
  • --message = configure the git message associated to the tag

Configuration

Any of the default settings defined in the gem can be overridden by creating a custom .gitx.yml file in the root directory of your project.

Contributing

See CONTRIBUTING.md

  • 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.

Related Projects

Copyright

See LICENSE.txt

gitx's People

Contributors

bravely avatar chris-nelson-mn avatar f1sherman avatar mshappe avatar pauldruziak avatar phene avatar scashin133 avatar vandahm avatar wireframe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.