Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Fork, clone, add remote and branch a GitHub repo

Project description

Fork a GitHub repo, clone that repo to a local directory, add the upstream remote, create an optional feature branch and checkout that branch

Usage

usage: fork-github-repo [-h] [-c CONFIG] url [branch]

Fork a GitHub repo, clone that repo to a local directory, add the upstream
remote, create an optional feature branch and checkout that branch

positional arguments:
  url                   GitHub URL of the upstream repo to fork
  branch                Name of the feature branch to create

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Filename of the yaml config file (default :
                        ~/.github/fork_github_repo.yaml)

The config file with a default location of
~/.github/fork_github_repo.yaml contains the following settings:

-  github_token : The `GitHub personal access token with the public_repo scope
   allowed.
   https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
-  repo_dir : The directory path to the directory containing all your cloned
    repos. If this isn't defined, /tmp is used.

The file is YAML formatted and the contents look like this :

github_token: 0123456789abcdef0123456789abcdef01234567
repo_dir: ~/Documents/github.com/example/

Config

The config file with a default location of ~/.github/fork_github_repo.yaml contains the following settings.

  • github_token : The GitHub personal access token with the public_repo scope allowed
  • repo_dir : The directory path to the directory containing all your cloned repos. If this isn’t defined, /tmp is used.

Examples

Fork Spoon-Knife

$ fork-github-repo https://github.com/octocat/Spoon-Knife
Forked https://github.com/octocat/Spoon-Knife to git@github.com:gene1wood/Spoon-Knife.git
Cloned git@github.com:gene1wood/Spoon-Knife.git to /path/to/gene1wood/Spoon-Knife
Remote "upstream" created for https://github.com/octocat/Spoon-Knife
Remote "upstream" fetched

Fork Spoon-Knife and create a feature branch called ‘my-feature’

$ fork-github-repo https://github.com/octocat/Spoon-Knife my-feature
Forked https://github.com/octocat/Spoon-Knife to git@github.com:gene1wood/Spoon-Knife.git
Cloned git@github.com:gene1wood/Spoon-Knife.git to /path/to/gene1wood/Spoon-Knife
Remote "upstream" created for https://github.com/octocat/Spoon-Knife
Remote "upstream" fetched
Branch "my-feature" created
Branch "my-feature" pushed to origin
Tracking branch "origin/my-feature" setup for branch "my-feature"
Branch "my-feature" checked out

Project details


Release history Release notifications

This version
History Node

1.1.0

History Node

1.0.1

History Node

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
fork_github_repo-1.1.0-py2-none-any.whl (6.8 kB) Copy SHA256 hash SHA256 Wheel py2 Jan 22, 2018
fork-github-repo-1.1.0.tar.gz (4.3 kB) Copy SHA256 hash SHA256 Source None Jan 22, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page