我正在尝试与Git达成协议,因为我最近开始使用它(长时间的Subversion用户),我找不到使用TortoiseGit克隆远程分支的方法。
我已经创建了一个本地分支,我将其推送到GitHub,但是当我尝试克隆(checkout)这个远程分支时,我找不到任何方法。
我该怎么做?
答案 0 :(得分:16)
如linquize所述,TortoiseGit并未直接提供此功能。如果你真的想要使用它,你可以:
这比命令行要花费的时间要长一些,因为初始克隆命令意味着要检查头,然后你必须切换回你想要的分支/标签。
答案 1 :(得分:8)
(这与TortoiseGit v1.8.3.0相同。)
做一个" Git - > Git Sync"首先在TortoiseGit上下文菜单中。 (注意:您可能必须在右键单击时按住 Shift ,具体取决于您在上下文菜单中设置Git Sync的方式。)
左下角会有一个名为" Remote Update"的按钮。这样做,它将删除本地存储库中不存在的所有新远程分支。
之后,你应该可以做" Git - > Git Checkout"正常情况下,您想要的分支将显示在列表中。
我应该注意,可以使用相同的过程向TortoiseGit通知已在远程存储库中创建的新分支,无论您是否最初创建它们。
答案 2 :(得分:7)
答案 3 :(得分:1)
不幸的是,目前的TortoiseGit(TortoiseGit 1.7.13.0)无法克隆特定的分支。您可以询问功能请求。
解决方法:
git clone --recursive --branch 2.x-1.0
另一种方法是克隆所有分支然后删除不需要的分支,但即使这不是一个好的解决方案,特别是如果你有许多分支有许多标签(和不同的文件名),但这是迄今为止的解决方法,直到TortoiseGit提供它。我选择使用命令行手动克隆分支。这个问题只发生在Windows用户身上,因为Linux的Git版本已经提供了--branch
选项。
答案 4 :(得分:0)
关于此的更新:
如果你只需要一个特定的分支,你可以直接在SVN结账,如今。复制分支的树URL,即https://github.com/USERNAME/REPONAME/tree/BRANCHNAME
,并将tree
替换为branches
,以便获得https://github.com/USERNAME/REPONAME/branches/BRANCHNAME
。
此URL可用于签出特定分支。