从主人以外的分支克隆

use*_*555 33 git github github-for-windows

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

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

我甚至不确定这是否git clone是正确的命令.git pull还是git fetch

对不起,我对git很新.

Agu*_*ico 40

试试这个:

git init
git fetch url-to-repo branchname:refs/remotes/origin/branchname
Run Code Online (Sandbox Code Playgroud)

编辑

更好的解决方案:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,第一个解决方案:在它说“分支名称”的地方,它应该说你想要克隆的分支,比如`git fetch my_repo_url demo:refs/remotes/origin/demo` (2认同)

kam*_*gin 28

git clone <url>
Run Code Online (Sandbox Code Playgroud)

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

git branch -l
Run Code Online (Sandbox Code Playgroud)

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

git checkout <branchname>
Run Code Online (Sandbox Code Playgroud)

其中branchname是分支的名称:)

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

git clone -b <branchname> <url>
Run Code Online (Sandbox Code Playgroud)

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

  • `git clone <url> -b <branchname>`,对吗? (2认同)
  • 实际上我认为它是`git clone -b &lt;branchname&gt; &lt;url&gt;` (2认同)
  • 感谢您的回答 :) 但我只能选择一个答案作为正确答案。我也不能赞成你的答案,因为它至少需要 15 个声望点。 (2认同)
  • 幸运的是,订单为`git clone <url> -b <branchname>`也有效.这对需求文件很有用.你可能在阅读的地方; 做git clone $ REPLY; 在构建脚本中完成<requirements.txt`.该文件中的大多数条目只是URL,但您也可以在其中任何一个末尾添加`-b <branchname>`. (2认同)

Bal*_*Pal 5

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

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