Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.42 KB

README.md

File metadata and controls

59 lines (43 loc) · 2.42 KB

GithubHelper

This useful little gem allows you in a single command to commit your staged changes, push them to your remote repository, and open a pull request for those changes.

Usually, when you have a quick fix to submit for an upstream repository, you would have to :

  • Commit your fix
  • Push your fix to your repository
  • Go to your repository on Github
  • Open a pullrequest and type the title/description
  • Submit the pullrequest (And you won't know if it's mergeable)

GithubHelper does all that for you just with :

ghh -fm "Fixing a bug"

Or

git commit -m "Fixing a bug"
ghh -f

Installation

Just install the gem using :

gem install github_helper

Configuration

The first time you run a ghh command in your git repository, a prompt will ask you your credentials (But won't store your password, only the OAuth token) and your target user/repo.

It will then save the configuration in .git/githelper.config.yml

Usage

The "fast mode" just needs the -f option. It will take your latest commit message and use it as the Pull request's title. Optionnaly, you can use -fm [message] to commit/push/open the PR.

To add an issue ID to the Pull request's description, just use the -i option.

To get some more help, just run ghh -h

Here are the detailed options :

-f, --fast                       Fast mode : push to origin & pull-request
-r, --request                    Creates a pull request
-c, --commit                     Commit staged changes
-m, --message [message]          Your commit message
-i, --id [id]                    Issue ID
    --reset-config               Resets your YML config file and enter your data again.
-l, --pulls                      Lists the open pull requests
-t, --title [TITLE]              Pull request title. (Defaults to latest commit)
-d, --description [BODY]         Pull request description. (Defaults to an empty string)
-b, --base [master]              Pull request base. (Defaults to master)
-p, --push                       Push branch to remote before doing the pullrequest(To username/currentbranch)
-n, --head [head]                Pull request head (Defaults to current branch)
-v, --verbose                    Enables verbose mode
-h, --help                       Displays this screen

ToDo list

  • More documentation
  • A commit-amending feature ?
  • A better error handling
  • Share a single token over multiple repos