Trusted answers to developer questions

What is the git push -u <remote> <branch name> command?

Get Started With Machine Learning

Learn the fundamentals of Machine Learning with this free course. Future-proof your career by adding ML skills to your toolkit — or prepare to land a job in AI or Data Science.

The git push -u <remote> <branch name> command uploads content from a local repository to a remote repository. It is generally used to upload modifications in a local repository with remote team members.

The process is illustrated below:

Options

The options in the git push -u <remote> <branch name> command are described as follows:

  • -u: The -u flag creates a tracking reference for every branch that you successfully push onto the remote repository. The local branch you push is automatically linked with the remote branch. This allows you to use commands such as git pull without any arguments.

  • <remote>: The <remote> option specifies the name of the remote repository to which the changes need to be pushed. If you clone a repository, the name of the remote repository is saved under the name origin on your local system. Alternatively, you can provide the URLUniform Resource Locator of the repository as well.

  • <branch name>: The <branch name> option specifies the remote repository branch to which the changes need to be pushed.

Usage

The code below shows an example of how to push changes between a local and remote repository:

git push -u git@github.com:username/example.git master

The above command pushes the changes from your local branch to the master branch of the example repository.

Since the -u flag is used, your local branch is automatically linked to the master branch. Therefore, whenever you need to pull changes from the master branch, you can use the command git pull without any arguments.

For more details and variants of the git push command, you can check the official documentation.

RELATED TAGS

git

CONTRIBUTOR

Talha Ashar
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?