| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
git-pull-request is a command line tool to send GitHub or Pagure pull-request from your terminal.
Use the standard Python installation method:
pip3 install git-pull-request
Although it might not be up to date with the latest code on GitHub Fedora 28+ users can also download straight via package manager DNF:
sudo dnf install git-pull-request
You need to write your credentials into your ~/.netrc file. In case you have 2FA enabled for GitHub, make sure to replace your password by a Personal access token:
machine github.com login jd password f00b4r
For Pagure, you need to create an API key by visiting your settings and requesting the Fork a project and Modify an existing project ACLs:
machine pagure.io login tristanc password $your-api-token
Note: since credentials are stored in plain text, you should encrypt your $HOME directory to improve security.
Once you've made your commits into a branch, just type:
git pull-request
This will:
If you add more commits to your branch later, or need to rebase your branch to edit commits, you'll just need to run git pull-request to update your pull-request. git-pull-request automatically detects that a pull-request has been opened for your current working branch.
When sending pull-requests, it's preferable to do so from your own branch. You can create your own branch from master by doing:
$ git checkout -b myownbranch --track origin/master
This will checkout a new branch called myownbranch that is a copy of master. Using the --track option makes sure that the upstream source branch is written in your .git/config file. This will allow git-pull-request to know to which branch send the pull-request.
Since this is long to type, you can use an alias in git to make it faster:
$ git config --global alias.nb '!git checkout --track $(git config branch.$(git rev-parse --abbrev-ref HEAD).remote)/$(git rev-parse --abbrev-ref HEAD) -b'
This will create a git nb alias that will create a new branch tracking the current branch and checking it out. You can then use it like that:
$ git nb foobar Branch foobar set up to track remote branch master from origin. Switched to a new branch 'foobar'
The wrapper hub provides hub fork and hub pull-request as command line tools to fork and create pull-requests.
Unfortunately, it's hard to combine these tools in an automated implementation for a complete workflow. For example: If you need to update your pull-request, there's no way to identify existing pull requests, so calling hub pull-request would just open a new pull-request.
git-pull-request wraps all of these operations into one convenient tool.
| Back | FazBrowse Home | New Git URL |