7

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

我创建了一个推送到 GitHub 的本地分支,但是当我尝试克隆(签出)这个远程分支时,我找不到任何方法来做到这一点。

我该怎么做?

4

5 回答 5

17

正如 linquize 所说,这个功能不是由 TortoiseGit 直接提供的。如果你真的想使用它,你可以:

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

TortoiseGit 克隆窗口

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

TortoiseGit 切换窗口

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

于 2012-10-17T20:56:51.090 回答
10

它在 Git 克隆窗口中可用: 在此处输入图像描述

于 2015-02-19T20:54:52.110 回答
9

(这是从 TortoiseGit v1.8.3.0 开始的。)

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

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

远程更新

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

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

于 2013-06-26T19:20:04.990 回答
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选项。

于 2012-10-21T13:56:13.843 回答
0

关于此的更新:

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

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

于 2017-12-29T18:05:23.163 回答