远程存储库包含各种分支,如origin/davis_branch:

$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/master

如何将daves_branch获取到本地存储库,以便它跟踪origin/davis_branch?

我尝试了:

$ git fetch origin discover
$ git checkout discover

当前回答

有时,你被要求不要摆弄主分支,只在远程分支工作(正如我被要求的那样)。所以你只需要远程分支。

因此,要单独克隆远程分支(没有主分支),请执行以下操作

git clone url --branch remote_branch_name

哪里remote_branch_name是远程分支的名称

例如

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git --branch v3.15

这将确保您使用远程分支的名称将远程分支克隆到本地分支。

现在,如果您提交代码并推送,代码将单独提交给该分支。

其他回答

git branch<name>--跟踪原点/<name>

假设你的遥控器git@xyz.git你想要它的random_branch分支。流程应如下:

首先检查遥控器列表git远程-v如果你没有git@xyz.git在上述命令的输出中,您可以通过git远程添加xyzgit@xyz.git现在,您可以通过git获取xyz现在通过git checkout-b my_copy_random_branch xyz/random_brance检查分支列表查看所有的分支

本地分支my_copy_random_branch将跟踪远程的random_brance分支。

检查.git/config文件,特别是该远程设备的fetch跟踪。

[remote "randomRemote"]
    url = git@github.com:someUser/someRepo.git
    fetch = +refs/heads/*:refs/remotes/randomRemote/*

如果头/*指向randomRemote/*,当您运行gitfetchrandomRemote时,它将获取所有分支。

然后你就可以结账了。

否则

您需要使用此命令将远程分支添加到跟踪中。运行此命令后,请检查.git/config。你会明白的。git remote set branches--add randomRemote randomBranch运行git fetch randomRemote。这将获取远程分支。现在您可以运行git checkout randomBranch。

git fetch

git branch -r

git checkout <branch_name>

本地获取分支:

git fetch origin <branchName>

移动到该分支:

git checkout <branchName>