我在Github上有一个存储库,它包含两个分支。我正在尝试使用Git-Plus:Clone
中的Atom
来尝试克隆所有存储库。但是,我的所有尝试都失败了,只有master
分支被克隆。我在SE上看到了这个问题,但找不到办法。有人可以帮我解决这个问题。提前致谢 !
答案 0 :(得分:3)
但是,我的所有尝试都失败了,只有主分支被克隆。
此行为不是Atom独有的。这是正常的git clone
行为。
克隆所有分支,但git clone
只会自动为master
或者存储库的默认分支创建本地分支。其余的仍然是"远程跟踪分支",远程的本地副本。它们位于您的磁盘上,但它们实际上是只读的。如果您正在克隆的项目有很多分支,那么Git会这样做是为了避免让你的克隆充斥着大量不相关的本地分支。
例如,如果您的遥控器有master
,foo
和bar
。您最终会看到origin/master
,origin/foo
,origin/bar
和master
。 origin/...
都是远程跟踪分支。他们会在您上次查看时记住远程存储库的状态(使用git clone
或fetch
或pull
)。
master
是origin/master
的本地分支,供您使用。如果您想在另一个分支上工作,请创建一个本地版本。例如,git checkout -b origin/foo foo
会为您创建一个本地foo
(或者您在Atom中执行此操作)。
另见this answer。
答案 1 :(得分:1)
在 Atom 中,在 Preferences 中安装 Git Plus 包,然后切换命令面板(在 Mac 上为 cmd+shift+p)并键入 checkout,从下拉列表中的建议项目列表中选择“Git Plus:Checkout Remote”菜单。
然后你只需要选择你想签出的目标仓库和分支,远程分支就会变成本地分支,你就可以在它上面工作并在不同的分支之间切换。