Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

StackOverflow Point

StackOverflow Point Navigation

  • Web Stories
  • Badges
  • Tags
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Web Stories
  • Badges
  • Tags
Home/ Questions/Q 218357
Next
Alex Hales
  • 0
Alex HalesTeacher
Asked: July 14, 20222022-07-14T15:43:36+00:00 2022-07-14T15:43:36+00:00In: Git, git-fork, github, repository, synchronization

git – How do I update or sync a forked repository on GitHub?

  • 0

[ad_1]

There are three ways one can do that: from the web UI (Option 1), from the GitHub CLI (Option 2), or from the command line (Option 3).


Option 1 – Web UI

  1. On GitHub, navigate to the main page of the forked repository that you want to sync with the upstream repository.

  2. Select the Fetch upstream drop-down.

enter image description here

  1. Review the details about the commits from the upstream repository, then click Fetch and merge.

enter image description here


Option 2 – GitHub CLI

To update the remote fork from its parent, use the gh repo sync subcommand and supply your fork name as argument.

$ gh repo sync owner/cli-fork

If the changes from the upstream repository cause conflict then the GitHub CLI can’t sync. You can set the -force flag to overwrite the destination branch.


Option 3 – Command Line

Before syncing one’s fork with an upstream repository, one must configure a remote that points to the upstream repository in Git.

1 Open Git Bash.

2 Change the current working directory to your local project.

3 Fetch the branches and their respective commits from the upstream repository. Commits to BRANCHNAME will be stored in the local branch upstream/BRANCHNAME.

$ 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]      main     -> upstream/main

4 Check out your fork’s local default branch – in this case, we use main.

$ git checkout main
> Switched to branch 'main'

5 Merge the changes from the upstream default branch – in this case, upstream/main – into your local default branch. This brings your fork’s default branch into sync with the upstream repository, without losing your local changes.

$ git merge upstream/main
> Updating a422352..5fdff0f
> Fast-forward
>  README                    |    9 -------
>  README.md                 |    7 ++++++
>  2 files changed, 7 insertions(+), 9 deletions(-)
>  delete mode 100644 README
>  create mode 100644 README.md

If one’s local branch didn’t have any unique commits, Git will instead perform a “fast-forward”:

$ git merge upstream/main
> Updating 34e91da..16c56ad
> Fast-forward
>  README.md                 |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Note: Syncing one’s fork only updates one’s local copy of the repo.
To update one’s fork on GitHub.com, one must push ones changes.


Source: GitHub Docs – Syncing a fork

[ad_2]

  • 0 0 Answers
  • 3 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report
Leave an answer

Leave an answer
Cancel reply

Browse

Sidebar

Ask A Question

Related Questions

  • xcode - Can you build dynamic libraries for iOS and ...

    • 0 Answers
  • bash - How to check if a process id (PID) ...

    • 3 Answers
  • database - Oracle: Changing VARCHAR2 column to CLOB

    • 5 Answers
  • What's the difference between HEAD, working tree and index, in ...

    • 4 Answers
  • Amazon EC2 Free tier - how many instances can I ...

    • 0 Answers

Stats

  • Questions : 43k

Subscribe

Login

Forgot Password?

Footer

Follow

© 2022 Stackoverflow Point. All Rights Reserved.

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.