Hello Fellow CodeNewbies 👋,
In my last post, we talked about how to fetch a branch from
upstream repo as a contributor and test it locally.
And in this post, let's change the role.
If we were a repo maintainer, we would want to test the changes locally and see if things work as expected. Otherwise, we can encounter problems when we merge a contribution without trying it.
How can we do so?
I will walk you through the steps below.
First, we need to add the contributor's forked repo as our remote repo.
git remote add <remote-name> <fork-repo-url>
We can name the
<remote-name> anything we want. I find it clearer to name this remote with the contributor's name or their GitHub username.
As an example:
git remote add ayu <fork-repo-url>
Go to the contributor's fork repo on GitHub to copy their repo URL and paste it to replace the
Run this command to check our remote repos.
git remote -v
If the remote repo has been added, we should see:
origin <original-repo-url> (fetch) origin <original-repo-url> (push) ayu <fork-repo-url> (fetch) ayu <fork-repo-url> (push)
Run this command to fetch the repo.
git fetch <remote-name>
So, in our case:
git fetch ayu
Now the repo contents, including the targeted branch, are fetched.
We will see something like this on our command line:
... * [new branch] main -> ayu/main * [new branch] some-branch -> ayu/some-branch * [new branch] target-branch -> ayu/target-branch
But wait. There are two branches there.
How do we know which branch is pushed by the contributor to the repo?
- From the
originrepo on GitHub, navigate to the
- Click on the contributor's pull request.
- Under the title of the pull request, next to the green "Open" button, we will see:
ayu wants to merge X commits into main from target-branch
We know now that the branch that we want to navigate to is the
Run this command:
git checkout <branch-name>
In this example, it would be:
git checkout target-branch
We now can test out the changes from the contributor locally 😄.
Thank you for reading!
Last but not least, you can find me on Twitter. Let's connect! 😊