我正试图从Github的存储库中提取。但我不想克隆主分支。我想克隆一些其他分支。当我尝试git clone <url>
时,我从master分支获取文件。我该怎么办?
另外,假设代码在存储库中更新,我想获取最新的代码,我是否应该再次使用git clone
?因为项目的规模很大。此外,如果我在本地更改项目,然后我再次使用git clone,我所做的更改是否仍然存在?如果我不想进行更改怎么办?
我甚至不确定git clone
是否是正确的命令。 git pull
或git fetch
?
对不起,我对git很新。
答案 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