Track a new remote branch created on GitHub

GitGithubGit Branch

Git Problem Overview


I have already got a local master branch tracking the remote master branch of a github project. Now, a collaborator of mine has created a new branch in the same project, and I want to do the following accordingly:

  1. create a new branch locally
  2. make this new branch track the newly create remote branch.

How should I do it properly?

Git Solutions


Solution 1 - Git

git fetch
git branch --track branch-name origin/branch-name

First command makes sure you have remote branch in local repository. Second command creates local branch which tracks remote branch. It assumes that your remote name is origin and branch name is branch-name.

--track option is enabled by default for remote branches and you can omit it.

Solution 2 - Git

If you don't have an existing local branch, it is truly as simple as:

git fetch
git checkout <remote-branch-name>

For instance if you fetch and there is a new remote tracking branch called origin/feature/Main_Page, just do this:

git checkout feature/Main_Page

This creates a local branch with the same name as the remote branch, tracking that remote branch. If you have multiple remotes with the same branch name, you can use the less ambiguous:

git checkout -t <remote>/<remote-branch-name>

If you already made the local branch and don't want to delete it, see How do you make an existing Git branch track a remote branch?.

Solution 3 - Git

First of all you have to fetch the remote repository:

git fetch remoteName

Than you can create the new branch and set it up to track the remote branch you want:

git checkout -b newLocalBranch remoteName/remoteBranch

You can also use "git branch --track" instead of "git checkout -b" as max specified.

git branch --track newLocalBranch remoteName/remoteBranch

Solution 4 - Git

When the branch is no remote branch you can push your local branch direct to the remote.

git checkout master
git push origin master

or when you have a dev branch

git checkout dev
git push origin dev

or when the remote branch exists

git branch dev -t origin/dev

There are some other posibilites to push a remote branch.

Solution 5 - Git

Steps as listed below:

  1. First get all the branches that were created after cloning Command to this step -> "git fetch"
  2. Now, check what are remote branches Command to this step -> "git branch -r"
  3. Check where you're in the log history Command to this step -> "git log --oneline --all --graph"
  4. Assign a new branch to track the remote branch Command to this step -> "git branch branch_name origin/remote_branch_name"
  5. After that, check your log history either using the step 3 command or "git branch"

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMListerView Question on Stackoverflow
Solution 1 - GitmaxView Answer on Stackoverflow
Solution 2 - GitkotooleView Answer on Stackoverflow
Solution 3 - GitAnghel ContiuView Answer on Stackoverflow
Solution 4 - GitRené HöhleView Answer on Stackoverflow
Solution 5 - GitChetan PatteparapuView Answer on Stackoverflow