Update your fork directly on GitHub
How to update a forked repo and get the last updates from the original project?
On your local CLI of the forked project, link the repo to the original project, fetch changes, do a merge, and finally push to your GitHub repo.
We can update a forked git repository using one of the many GUIs for git, but we will do it in CLI.
First under your repository directory:
git checkout master
Shows URLs of remote repositories when listing your current remote connections:
git remote -v | origin email@example.com:you/forked-project.git (fetch) | origin firstname.lastname@example.org:you/forked-project.git (push)
Enter a remote upstream repo to sync with your fork:
git remote add upstream https://github.com/OriginalOwner/OriginalProject.git
git remote -v | origin email@example.com:you/forked-project.git (fetch) | origin firstname.lastname@example.org:you/forked-project.git (push) | upstream email@example.com:original-owner/original-project.git (fetch) | upstream firstname.lastname@example.org:original-owner/original-project.git (push)
Fetch commits from the upstream repo. This will copy the commits from
master branch into a local branch called
git fetch upstream | remote: Enumerating objects: 789, done. | remote: Counting objects: 100% (789/789), done. | remote: Compressing objects: 100% (179/179), done. | remote: Total 2219 (delta 583), reused 712 (delta 555), pack-reused 1430 | Receiving objects: 100% (2219/2219), 9.15 MiB | 7.93 MiB/s, done. | Resolving deltas: 100% (797/797), completed with 268 local objects. | From github.com/original-owner/original-project | * [new branch] b1 -> upstream/b1 | * [new branch] b2 -> upstream/b2 | * [new branch] b3 -> upstream/b3 | ...
Merge changes from
git merge upstream/master | Updating 27da2af0f..c6eba53f9 | Fast-forward | .gitignore | ...
Push changes to your repo:
git push --force-with-lease | Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 | To github.com:you/forked-project.git | 27da2af0f..c6eba53f9 master -> master