Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to move to a fork after cloning

If you are like me you find yourself cloning a repo, making some proposed changes and then deciding to later contributing back using the GitHub Flow convention. Below is a set of instructions I've developed for myself on how to deal with this scenario and an explanation of why it matters based on jagregory's gist.

To follow GitHub flow you should really have created a fork initially as a public representation of the forked repository and the clone that instead. My understanding is that the typical setup would have your local repository pointing to your fork as origin and the original forked repository as upstream so that you can use these keywords in other git commands.

  1. Clone some repo (you've probably already done this step).

    git clone git@github...some-repo.git
  2. Manually fork their repo via the Github website directly.

  3. In your local system, rename your origin remote to upstream.

    git remote rename origin upstream
  4. Add a new origin which now points to your fork you just made above (instead of to to the original repository).

    git remote add origin git@github...my-fork
  5. Fetch from new origin.

    git fetch origin
  6. Make local branch "master" track remote branch "origin/master" (ie: remote branch "master" from remote "origin" which you just set above). See more syntax examples here: https://stackoverflow.com/a/2286030/4561887.

    git branch --set-upstream master origin/master (deprecated)

    git branch --set-upstream-to origin/master master
  7. Push to your fork via your "origin" remote (the word origin should be able to be omitted (ie: just write git push) if you did Step 4).

    git push origin
@ThingEngineer

This comment has been minimized.

Copy link

ThingEngineer commented Jan 28, 2018

Perfect, thank you!

@azamk100

This comment has been minimized.

Copy link

azamk100 commented Feb 18, 2018

Thank you! Worked great

@MicaelPereira

This comment has been minimized.

Copy link

MicaelPereira commented Feb 27, 2018

Thank you!
That's work.

@qzzhang

This comment has been minimized.

Copy link

qzzhang commented Mar 1, 2018

Super helpful, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.