2012-10-03 173 views
4

我想与git一样,因为我最近开始使用它(长时间颠覆用户),我找不到用TortoiseGit克隆远程分支的方法。TortoiseGit克隆远程分支

我创建了一个本地分支,我推到github上,但是当我尝试克隆(结账)这个远程分支我找不到任何办法做到这一点

任何帮助吗?

由于

+1

您通常不克隆远程分支,而是克隆整个存储库。一旦被克隆,你可以检出该分支。另外,虽然你特别提到了龟,但如果你不介意掉到命令行上,你可以执行[this command](http://stackoverflow.com/a/9920956/164966)。 – R0MANARMY

+0

git clone -b branch_name。目前(v1.7.13),没有TortoiseGit提供的这样的功能。 – linquize

回答

13

如上所述通过linquize,该功能不是直接由TortoiseGit提供。如果你真的想使用它,你可以:

  • 克隆分支所属的存储库(右键菜单 - > Git克隆...)。这也将签通过克隆创建的工作副本HEAD

TortoiseGit clone window

  • 交换机从头部工作拷贝到所需的分支/标签(右键菜单 - > TortoiseGit - >交换机/结帐)

TortoiseGit switch window

这将需要一个比特比在命令行更长的时间,因为初始克隆命令意味着checkou头,然后你必须切换回你想要的分支/标签。

+9

请注意,当前版本的TortoiseGit在克隆对话框中确实有一个“分支”输入 - 在此输入中输入除去分支的名称将直接进行检查。 –

+0

@ mindplay.dk好喊! – Chuck

1

不幸的是,目前的TortoiseGit(TortoiseGit 1.7.13.0)无法克隆特定的分支。你可能会问功能请求。

周围的工作:

  1. 使用手动GIT中命令,例如:GIT中克隆--recursive --branch 2.x的-1.0
  2. 使用另一个GIT中的GUI,例如SmartGit

另一种方式是复制所有分支,然后删除不需要的分支,即使这不是一个很好的解决方案,特别是如果你有很多标签(和不同的文件名)许多分支,但这是解决办法,到目前为止,直到TortoiseGit提供它。我选择使用命令行手动克隆分支。这个问题只发生在WINDOWS用户上,因为git版本的Linux已经提供了--branch选项。

+0

“另一种方法是克隆所有分支” - 如何?当在TortoiseGit 2.3.0.0的* Clone *窗口中取消选中* branch *复选框时,我仍然只是在本地获得* master *分支,其他所有分支都可用作远程分支。 –

7

(这是因为TortoiseGit v1.8.3.0的)

做一个 “混帐 - > Git的同步” 首先在龟上下文菜单。 (注意:您可能必须按住右键单击,具体取决于Git Sync设置为在上下文菜单中显示的方式)

左下角会出现一个名为“Remote Update ”。这样做,它会拉下所有不在您本地存储库中的新远程分支。

Remote Update

之后,你应该能够做到“混帐 - > Git的结帐”为正常,和你想要的分支将在列表中显示出来。

需要注意的是,可以使用相同的过程来通知TortoiseGit关于在远程存储库中创建的新分支,无论您是否最初创建它们。

0

就此更新:

如果你只需要一个特定的分支,可以SVN结帐直接,时下。复制该分支的树形URL,即https://github.com/USERNAME/REPONAME/tree/BRANCHNAME,并用branches替换tree,这样就得到了https://github.com/USERNAME/REPONAME/branches/BRANCHNAME

此URL可用于检出特定分支。

相关问题