![]() |
1
4178
接下来,查看存储库中的本地分支:
但在您的存储库中还隐藏着其他分支!您可以使用
如果您只想快速浏览上游分支,可以直接查看:
但是,如果您想在该分支上工作,则需要创建一个本地跟踪分支,该分支自动通过以下方式完成:
你会看到
最后一句话让一些人觉得:“新的分支”—嗯? 它真正意味着分支是从索引中提取的,并在本地为您创建的。这个 以前的 行实际上提供了更多的信息,因为它告诉您正在设置分支以跟踪远程分支,这通常意味着源/分支名称分支 现在,如果你看看当地的分支机构,你会发现:
实际上,您可以使用
在这一点上,事情变得非常疯狂,所以快跑
|
![]() |
2
760
如果有许多远程分支要一次提取,请执行以下操作:
现在,您可以根据需要签出任何分支,而无需点击远程存储库。 |
![]() |
3
388
这个 Bash 脚本帮助我:
它将为所有远程分支创建跟踪分支,但master(您可能从原始克隆命令中获得)除外。我想你还是需要做一个
当然可以。
|
![]() |
4
297
使用
参考文献: Git FAQ: How do I clone a repository with all remotely tracked branches? |
![]() |
5
208
您可以轻松地切换到分支,而无需使用花哨的“git checkout-b somebranch origin/somebranch”语法。你只需做:
Git会自动做正确的事情:
Git将检查一个远程中是否存在同名的分支,如果存在,它将以与您明确指定它是远程分支相同的方式跟踪它。从git 1.8.2.1的git checkout手册页:
|
![]() |
6
90
关于,
使用
或者更详细但更容易记住
在跟踪远程存储库方面可能会更好。 |
![]() |
7
78
您正在执行的提取应该获取所有远程分支,但它不会为它们创建本地分支。如果您使用gitk,那么应该看到描述为“remotes/origin/dev”的远程分支或类似的分支。 要基于远程分支创建本地分支,请执行以下操作: git checkout -b dev refs/remotes/origin/dev 它应该返回如下内容: Branch dev set up to track remote branch refs/remotes/origin/dev. Switched to a new branch "dev" 现在,当您在dev分支上时,“git pull”将把本地dev更新到与远程dev分支相同的点。注意,它会把所有的树枝都拔出来,但只会把你的树枝拉到树顶上。 |
![]() |
8
57
当您执行“git clone git://location”时,将提取所有分支和标记。 为了在特定远程分支上工作,假设它是源站远程分支:
|
![]() |
9
49
使用别名。虽然没有任何本地的git-one行程序,但是您可以将自己的定义为
然后将其用作
|
![]() |
10
44
这并不是太复杂,非常简单直接的步骤如下:
通过以下命令验证您是否在所需的分支中;
输出将像这样;
注意表示当前分支的*符号。 |
![]() |
11
43
为什么你只看到“大师”
如何获取本地分支机构如果你真的想在一个分支上工作,你可能需要它的“本地”版本。从远程分支创建本地分支 (不签出它们,从而更改工作目录的内容) ,您可以这样做:
在这个例子中,
创建本地分支后,可以使用
|
![]() |
12
42
迟做总比不做好,但最好的方法是:
此时,您已经拥有远程回购及其所有分支的完整副本(请使用
|
![]() |
13
38
只要这样做:
你看,'git clone git://example.com/myprojectt'获取所有东西,甚至是分支,你只需要签出它们,然后就可以创建本地分支。 |
![]() |
14
23
您只需要使用“git clone”来获取所有分支。
即使您只看到主分支,也可以使用“git branch-a”查看所有分支。
你可以切换到你已经拥有的任何分支。
不用担心,在你“Git克隆”之后,你不需要连接远程回购,“Git分支-A”和“Git结算”可以在你关闭WiFi时成功运行。因此,事实证明,当您执行“git克隆”时,它已经从远程repo复制了所有分支。在那之后,你不需要远程回购,你的本地已经有了所有分支机构的代码。 |
![]() |
15
22
一
|
![]() |
16
19
使用我的工具 git_remote_branch (您需要在计算机上安装Ruby)。它是专门为使远程分支操作变得简单而构建的。 每次它代表您执行操作时,都会在控制台上以红色打印它。随着时间的推移,它们最终会进入你的大脑:—) 如果您不希望GRB代表您运行命令,只需使用“解释”功能即可。命令将打印到控制台,而不是为您执行。 最后,所有命令都有别名,以便于记忆。 注意这是 alpha software ;-) 以下是运行GRB帮助时的帮助: git_remote_branch version 0.2.6 Usage: grb create branch_name [origin_server] grb publish branch_name [origin_server] grb rename branch_name [origin_server] grb delete branch_name [origin_server] grb track branch_name [origin_server] Notes: - If origin_server is not specified, the name 'origin' is assumed (git's default) - The rename functionality renames the current branch The explain meta-command: you can also prepend any command with the keyword 'explain'. Instead of executing the command, git_remote_branch will simply output the list of commands you need to run to accomplish that goal. Example: grb explain create grb explain create my_branch github All commands also have aliases: create: create, new delete: delete, destroy, kill, remove, rm publish: publish, remotize rename: rename, rn, mv, move track: track, follow, grab, fetch |
![]() |
17
15
我在这里看到的所有答案都是有效的,但是有一种更干净的方法可以克隆存储库并同时提取所有分支。 克隆存储库时,实际下载了分支的所有信息,但分支是隐藏的。用命令
您可以显示存储库的所有分支,并使用命令
然后您可以一次手动“下载”一个。 然而,当你想克隆一个有很多分支的回购,上面所描述的所有方法都是冗长和冗长的,关于一个更清洁和更快的方式,我要展示,虽然有点复杂。您需要三个步骤来完成此操作:
在您的计算机上新建一个空文件夹,并从存储库克隆.git文件夹的镜像副本:
文件夹my_repo_文件夹中的本地存储库仍然是空的,只有一个隐藏的.git文件夹,现在您可以通过终端上的“ls-alt”命令看到它。
通过将git配置的布尔值“bare”切换为false,将此存储库从空(bare)存储库切换到常规存储库:
获取当前文件夹中的所有内容,并在本地计算机上创建所有分支,因此这是一个正常的repo。
现在您只需键入命令“git branch”,就可以看到所有的分支都已下载。 这是一种快速的方法,您可以用所有分支同时克隆一个Git存储库,但这不是您想用这种方法为每个项目做的事情。 |
![]() |
18
12
看一看这个问题的答案,我发现可以缩短它:
但是要小心,如果其中一个远程分支被命名为管理主机,它将不会被下载! 多亏了大鱼的创意 |
![]() |
19
12
|
![]() |
20
11
这些代码将把所有远程分支代码拉到本地repo。 |
![]() |
21
11
从本地回购进行克隆不适用于git clone&git fetch:许多分支/标记将保持未蚀刻状态。 以获得具有所有分支和标记的克隆。
要获取具有所有分支和标记但同时具有工作副本的克隆,请执行以下操作:
|
![]() |
22
10
对于复制粘贴到命令行:
为了提高可读性:
这将:
|
![]() |
23
8
我也需要这样做。这是我的 Ruby 脚本。
|
![]() |
24
8
我写的这个小 动力壳 函数可以签出所有Git分支,这些分支位于Origin Remote上。
可以在上找到更多的git函数 my git settings repo |
![]() |
25
6
使用可以记住的命令我使用的是BitBucket,它是一个Atlassian的存储库托管服务。所以我试着去看他们的医生。这对我来说非常有效。通过以下简单和简短的命令,您可以签出远程分支。 首先克隆存储库,然后更改为目标文件夹。最后,但不是最不重要的是取和签出:
就是这样。这里有一个更真实的例子:
您将在文档中找到有关命令的详细信息: Clone Command , Fetch Command , Checkout Command |
![]() |
26
6
Git通常(未指定时)获取所有分支和/或标记(参考,请参见:
有时您可能有与当前分支/标签没有直接连接的分支/标签,因此
并通过知道引用名称手动获取它们。 所以 把它们都拿来 试一下:
这个
然后再次检查所有分支:
如果上面没有帮助,您需要手动将丢失的分支添加到跟踪列表中(因为它们不知何故丢失了):
通过
所以它可能出现在
故障排除如果您仍然不能得到除主分支以外的任何东西,请检查以下内容:
|
![]() |
27
6
截至2017年初,答案是 in this comment 作品:
|
![]() |
28
5
除了用户之外,这些答案没有一个切中要害,没有人是正确的。 我在将repo从一个服务器/系统移动到另一个服务器/系统时遇到问题。当我克隆repo时,它只为master创建了一个本地分支,所以当我推到新的远程时,只推了master分支。 所以我发现这两种方法非常有用。希望他们能帮助别人。 方法1:
方法2:
|
![]() |
29
5
这是另一个简短的一行命令 为所有远程分支创建本地分支:
如果已经创建了跟踪本地分支,那么它也可以正常工作。
你可以在第一次之后打电话给它
如果你不需要
|
![]() |
30
3
|