我在~/local_repo有一个本地Git存储库。它有几个分支:

$ git branch
* master
  rails
  c
  c++

要克隆本地存储库,我做:

$ git clone ~/local_repo new_repo
Initialized empty Git repository in /home/username/new_repo/.git/

new_repo master分支指向local_repo master分支,我可以推/拉。

但我无法克隆另一个分支。我只想拉我想要的分支(例如rails),这样新的存储库就有一个主分支,默认情况下,它可以推入和拉出local_repo的rails分支。我如何实现这一点,或者也许类似于local_repo跟踪主local_repo?


当前回答

从git-clone手册页:

-单分支是你克隆的朋友 记住使用——branch <分支名>或者只克隆远程主HEAD(默认为master)

总是记得按Ctrl + F5来读取新源代码,而不是从缓存中读取:-) (我很长一段时间都不知道这个选项。)

其他回答

如果你想要一个浅克隆,你可以这样做:

git clone -b mybranch --depth=1 https://example.com/myproject.git localname

——depth=1表示——single-branch。

有点晚了,但我想添加我用来解决这个问题的解决方案。我在这里找到了答案。

无论如何,问题似乎是在问“如何从另一个回购的分支启动一个新项目?”

对此,我使用的解决方案是首先在github或任何地方创建一个新的回购。这将作为新项目的回购。

在本地机器上,导航到具有要用作新项目模板的分支的项目。

执行如下命令:

git push https://github.com/accountname/new-repo.git +old_branch:master

这将做的是将old_branch推到new-repo,并使其成为new repo的主分支。

然后,您只需将新的repo复制到新项目的本地目录中,就可以在旧分支中启动一个新项目。

git clone --branch <branchname> <remote-repo-url>

or

git clone -b <branchname> <remote-repo-url>

你可以使用下面的命令:

git clone -b branch_name --single-branch project_url local_folder_to_clone_in

可以在2步内完成吗

克隆存储库 Git克隆<http url> 签出您想要的分支 git checkout $BranchName