

Now you have the branch on your local repo, and you can test it out locally! 😄 Fetch is commonly used with the git reset command to bring a local repository up to date with a remote repository. Running this command will automatically create a branch with the same name in our local repo. The git fetch command downloads all branches, tags, and data from a project to the local machine. You will see in the command line that we have fetched the branches on the upstream repo, including the target branch. git remote -vįetch data from the upstream. We can copy this link by going to the repo on GitHub, clicking the green button with "Code" written on it, and copying the HTTPS link.Ĭheck if the new upstream has now been added. Original-repo-url is the HTTPS URL of the repo that we fork. If we haven't configured a remote that points to the upstream repo, we will get: origin (fetch)Īdd a new remote upstream repo that will be synced with the origin repo. So, I hope you can gain something too from our journey! 😄 Fetch a branch from the upstream repoĬheck our current configured remote repo for our fork. If we want to fetch specific branch then we pass the branch name using the git fetch remote-name branch-name command. git branch main feature1 debug2 Examining the contents of the /.git/refs/heads/ directory would reveal similar output. The following is an example of git branch output with some demo branch names. However, we learned a lot from this accident. Executing the git branch command will output a list of the local branch refs.


The sections below explain both methods so you can use them to your preference. Clone only a specific branch and no other branches. In this case, I am the maintainer, and my teammate is the contributor. Clone the entire repository, fetch all the branches, and check out the specified branch after the cloning process. We found out later that what we're doing is an open-source workflow, where we maintain and contribute to a repo. My teammate and I started this project with one of us creating a repo and the other forking the repo.īut for collaborating, we could do it differently, which I will cover in another blog post. So, we need to set the origin repo to point to the upstream repo. He then forked this repo, which automatically becomes his origin repo.įor him to fetch a branch - that hasn't been merged to main - from the upstream repo, his origin repo should have access to the upstream. Then we tried to step back and figure things out.įrom my teammate's side, my repo is the upstream repo. We mostly got the error of fatal: couldn't find remote ref. git pull -all will fetch all remotes, but it will still try to merge a branch (or the default branch) into the current branch as well. I asked my teammate to fetch this branch and test things out locally before merging it into the main branch.Īfter making sure that we didn't have anything to fetch and merge from the remote repo, and after several attempts, we still couldn't fetch the branch from the remote repo. Then I pushed this branch to the remote repo and created a pull request. Recently, I created a branch to make some changes. I created a repo for the project, and my teammate forked this repo. I am collaborating with a friend to create a project in React.
