There are twothree ways one can do that: from the web UI (Option 1), from the GitHub CLI (Option 2), or from the command line (Option 3).
Here I'll only consider how to sync from the web UI. If you are interested in knowing how to sync the forked repo from the command line, access the official documentation here.Option 1 - Web UI
![enter image description here](https://cdn.statically.io/img/i.sstatic.net/Yzcz1.png)
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.