Skip to content

Instantly share code, notes, and snippets.

@humbertodosreis
Last active January 16, 2020 22:21
Show Gist options
  • Save humbertodosreis/e8f482107d9ae24ed3e0130c59d77471 to your computer and use it in GitHub Desktop.
Save humbertodosreis/e8f482107d9ae24ed3e0130c59d77471 to your computer and use it in GitHub Desktop.
Steps to sync local repo with a fork
# Configuring a remote for a fork (https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork)
# List the current configured remote repository for your fork.
git remote -v
#> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
#> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
# Specify a new remote upstream repository that will be synced with the fork.
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
git fetch upstream pull/354/head:pr354
git checkout -b 10.0-branch-name pr354
# Verify the new upstream repository you've specified for your fork.
git remote -v
#> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
#> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
#> upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
#> upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
# Syncing a fork
# Fetch the branches and their respective commits from the upstream repository.
# Commits to master will be stored in a local branch, upstream/master
$ git fetch upstream
#> remote: Counting objects: 75, done.
#> remote: Compressing objects: 100% (53/53), done.
#> remote: Total 62 (delta 27), reused 44 (delta 9)
#> Unpacking objects: 100% (62/62), done.
#> From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
#> * [new branch] master -> upstream/master
# Check out your fork's local master branch.
git checkout master
# Merge the changes from upstream/master into your local master branch.
# This brings your fork's master branch into sync with the upstream repository, without losing your local changes.
git merge upstream/master
# If your local branch didn't have any unique commits, Git will instead perform a "fast-forward":
git merge upstream/master
#> Updating 34e91da..16c56ad
#> Fast-forward
#> README.md | 5 +++--
#> 1 file changed, 3 insertions(+), 2 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment