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.
Fetch a contribution branch
1. Add a remote repo for the forked repo
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 <fork-repo-url>
part.
2. Check if the remote repo has been added.
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)
3. Fetch the forked repo to our local
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?
How to find out the pushed branch
- From the
origin
repo on GitHub, navigate to thePull requests
tab. - 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 target-branch
.
4. Navigate to the branch
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! 😊
Top comments (3)
Dpinkston91
/
Contribute-To-This-Project
Public
forked from Syknapse/Contribute-To-This-Project
One of the BEST guides on how to contribute - I still use it for referencing.
Great breakdown of the process for maintainers to test contribution branches locally. Your step by step guide makes it easier to navigate this crucial part of the open source workflow.
Best Waterproof Decking Services
I did it this way and was able to fetch the contributed branch from the contributor's branched repository 2048 and check it out locally as the open source maintainer before merging it into the main repository