DEV Community

Cover image for How to fetch a contribution branch to test it locally as an open-source maintainer
Ayu Adiati
Ayu Adiati

Posted on • Edited on • Originally published at adiati.com

5 1

How to fetch a contribution branch to test it locally as an open-source maintainer

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>
Enter fullscreen mode Exit fullscreen mode

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>
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

3. Fetch the forked repo to our local

Run this command to fetch the repo.

git fetch <remote-name>
Enter fullscreen mode Exit fullscreen mode

So, in our case:

git fetch ayu
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

  1. From the origin repo on GitHub, navigate to the Pull requests tab.
  2. Click on the contributor's pull request.
  3. 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
Enter fullscreen mode Exit fullscreen mode

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>
Enter fullscreen mode Exit fullscreen mode

In this example, it would be:

git checkout target-branch
Enter fullscreen mode Exit fullscreen mode

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! 😊

Image of AssemblyAI

Automatic Speech Recognition with AssemblyAI

Experience near-human accuracy, low-latency performance, and advanced Speech AI capabilities with AssemblyAI's Speech-to-Text API. Sign up today and get $50 in API credit. No credit card required.

Try the API

Top comments (0)

Billboard image

Use Playwright to test. Use Playwright to monitor.

Join Vercel, CrowdStrike, and thousands of other teams that run end-to-end monitors on Checkly's programmable monitoring platform.

Get started now!

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay