Command line tool to send GitHub pull-request
Project description
git-pull-request is a command line tool to send GitHub pull-request from your terminal.
Installation
Use the standard Python installation method:
pip install git-pull-request
Usage
You need to write your GitHub credentials into your ~/.netrc file. In case you have 2FA enabled, make sure to replace your password by a Personal access token:
machine github.com login jd password f00b4r
Note: since credentials are stored in plain text, you should encrypt your $HOME directory to improve security.
Once you made a bunch of commits into a branch, just type:
git pull-request
This will:
Fork the upstream repository into your account (if needed)
Add your forked repository as a remote named “github” (if needed)
Force push your current branch to your remote
Create a pull-request for your current branch to the remote matching branch, or master by default.
If you add more commits to your branch later or need to rebase your branch to edit some commits, you will 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.
Workflow advice
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 "checkout --track origin/master -b"
This will create a git nb alias that will create a new branch tracking master 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'
Difference with hub
The command-line wrapper hub provides hub fork and hub pull-request as command line tols to fork and create pull-request for a long time now.
Unfortunately, it’s hard to combine them in an automatic way to implement this complete workflow. For example, if you need to update your pull-request, there’s no way it can know that a pull-request has already been opened and calling hub pull-request would open a new pull-request.
git-pull-request wraps all those operation in a single hand convenient tool.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file git-pull-request-2.2.0.tar.gz
.
File metadata
- Download URL: git-pull-request-2.2.0.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dbe249052a9150446a81d6aada9ea7e93e4ece26adb7eca9abd1ba9b3e80789 |
|
MD5 | b92de19613a7e6bcdde8a7a530563fed |
|
BLAKE2b-256 | d962da7bbf78583805ce28a89132c9363a8583a534ea8af09eb281baae403b14 |