56

我正在尝试从 Github 的存储库中提取。但我不想克隆主分支。我想克隆其他一些分支。当我尝试时git clone <url>,我从主分支获取文件。我该怎么办?

另外,假设代码在存储库中更新,我想获取最新的代码,我应该再次使用git clone吗?因为项目规模巨大。另外,如果我在本地对项目进行更改,然后再次使用 git clone,我所做的更改还会存在吗?如果我不想在那里进行更改怎么办?

我什至不确定是否git clone是正确的命令。git pull还是git fetch

对不起,我对 git 很陌生。

4

5 回答 5

66

试试这个:

git init
git fetch url-to-repo branchname:refs/remotes/origin/branchname

编辑

更好的解决方案:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git
于 2013-06-29T18:09:53.547 回答
41
git clone <url>

为每个分支克隆并创建远程跟踪分支。如果您想查看可用的分支(克隆后),请键入

git branch -l

要在克隆后切换到特定分支,请执行以下操作:

git checkout <branchname>

其中 branchname 是分支的名称 :)

如果你想克隆和签出一个特定的分支,你可以

git clone -b <branchname> <url>

您提到的其他命令是用于“更新”您当前的工作副本。git pull从远程存储库中获取所有更改并合并它们,而git fetch只获取它们而不合并它们。

于 2013-06-29T18:11:08.947 回答
5

使用git clone --branch <name>可能添加--single-branch

像往常一样,您必须git clone --help阅读有关命令的详细信息

于 2013-06-29T18:11:06.647 回答
3

如果您已经克隆了 repo 并想为master 以外的分支做出贡献,请执行以下操作:

$ git checkout --track origin/<branch-name>

当然,一定要指定正确的遥控器名称(上例中的origin)

此命令将创建一个新的本地分支,该分支将跟踪特定的远程分支。

于 2020-12-22T04:11:19.347 回答
0

他们已经在这里有了一些答案:

如何在 Git 中克隆单个分支?

git clone --branch --single-branch []

git clone --single-branch

在此处输入图像描述

于 2021-02-04T16:07:59.797 回答