Working with the Git version control system requires you to retrieve data from a remote repository, such as files and commits.
You can use the fetching process to save commits, files, references, and other information from a remote repository to your local machine. In this case, you can download a history of changes in a remote repository, which you can then view in your local repo.
The basics of the git fetch command will be discussed in this tutorial, with an example. You’ll be a pro at using the git fetch command to fetch code by the end of this tutorial.
Retrieving Code in Git
A local copy of a repository and a remote copy of a repository are almost always required when working with Git. The repository’s local copy is on your computer, while the remote copy is on a different server.
The master code for your project will be stored in the remote repository. Pushing changes to a remote repository is done when someone makes a change in a repository that they want all of the other people to see. The remote repository keeps track of all the changes that have been made to the repo’s code by all of the developers.
Changes made to a remote repository will not be reflected in your local copy of the code if they are pushed to a remote repository. This is due to the fact that Git allows everyone to keep their own local copies of code, which they can modify independently of the main code, which is why this is the case.
How the git fetch Command Works
The git fetch command fetches all branches and/or tags (collectively referred to as “refs”) by default. The fetch command also retrieves any other information that was used to compile those changes’ histories. This command’s syntax is as follows:
git fetch origin
A copy of our remote repository (located at “origin”) is downloaded and saved to our local machine when we run this command. Our local copy of our code, on the other hand, has not yet been updated.
Using the git branch command, we can see how this works. Assume we have two branches in a demo repository. We can use the following command to get a list of these branches:
This command, in an example repository, returns:
* master update-index
Our repository has two branches, as you can see. Read our guide to the git branch command if you want to learn more about the git branch command.
We now have a copy of our repository’s remote branches because we used git fetch. The following command can be used to see these:
git branch -r
The “remote” -r flag tells the branch command to return a list of branches that aren’t in the current directory. Returns the following:
origin/master origin/update-index remote/master
Git: Fetch a Remote Branch
The git fetch command can be used to get a remote branch. Instead of retrieving the metadata for all branches, you can only retrieve the metadata for a specific branch.
You must specify the name of the remote branch you want to retrieve in order to retrieve it. The name of the local branch that is linked to the remote branch must also be stated. The following is the syntax for retrieving a remote branch:
git fetch repo <remote-branch>:<local-branch>
Consider the following example:
git fetch origin dev:dev
From our remote repository, the first command retrieves the “dev” branch. Only the “dev” branch’s metadata is retrieved. On our local machine, this branch is linked to the “dev” branch.
Your remote and local branches will almost always have the same name. When cloning a repository with Git, this is the default behavior.