从主人以外的分支克隆

时间:2013-06-29 18:06:36

标签: git github github-for-windows

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

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

我甚至不确定git clone是否是正确的命令。 git pullgit fetch

对不起,我对git很新。

5 个答案:

答案 0 :(得分:39)

试试这个:

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

修改

更好的解决方案:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git

答案 1 :(得分:27)

git clone <url>

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

git branch -l

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

git checkout <branchname>

其中branchname是分支的名称:)

如果要克隆并签出特定分支,请执行

git clone -b <branchname> <url>

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:2)

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

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

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

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

答案 4 :(得分:0)

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

How do I clone a single branch in Git?

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

git clone --single-branch

加上 enter image description here