TortoiseGit克隆远程分支

问题描述 投票:5回答:5

我正试图与Git达成协议,因为我最近开始使用它(长时间的Subversion用户),我找不到用TortoiseGit克隆远程分支的方法。

我已经创建了一个本地分支,我将其推送到GitHub,但是当我尝试克隆(checkout)这个远程分支时,我找不到任何方法来执行它。

我该怎么做?

git tortoisegit
5个回答
16
投票

正如linquize所述,TortoiseGit并未直接提供此功能。如果你真的想要使用它,你可以:

  • 克隆分支所属的存储库(右键单击菜单 - > Git Clone ...)。这也将检查由clone创建的工作副本到HEAD

  • 将工作副本从HEAD切换到所需的分支/标签(右键菜单 - > TortoiseGit - > Switch / Checkout)

这将比命令行花费更长的时间,因为初始克隆命令意味着结账,然后你必须切换回你想要的分支/标签。


8
投票

(这是TortoiseGit v1.8.3.0的。)

首先在TortoiseGit上下文菜单中执行“Git - > Git Sync”。 (注意:您可能必须在右键单击时按住Shift键,具体取决于您将Git Sync设置为在上下文菜单中显示的方式。)

左下角会有一个名为“远程更新”的按钮。这样做,它将删除本地存储库中不存在的所有新远程分支。

之后,您应该可以正常执行“Git - > Git Checkout”,您想要的分支将显示在列表中。

我应该注意,这个相同的过程可以用来告知TortoiseGit有关在远程存储库中创建的新分支,无论您是否最初创建它们。


7
投票

它可以在Git克隆窗口中找到:enter image description here


1
投票

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

解决方法:

  1. 使用手动Git命令,例如:git clone --recursive --branch 2.x-1.0
  2. 使用另一个Git GUI,例如SmartGit

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


0
投票

关于此的更新:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.