我目前使用git clone
将我的文件放回本地。
我的问题是,当我运行命令时,只有主文件被下载但是另一个分支没有下载,所以我想你们可以帮助我我该怎么做才能获得我的存储库中的所有文件,包括所有创建的文件某个分支。
我是git的新手,这就是为什么我不知道这样做的确切过程
我看过这个How to fetch all git branches,但它对我没有帮助..
答案 0 :(得分:3)
假设我有一个包含三个分支的存储库
1 - master
2 - feature1
3 - feature2
然后,您可以执行git clone
将整个repo克隆到本地计算机上,并默认为主分支;但是,如果您想在其中一个功能分支上查看代码,则需要在本地计算机上“签出”该代码。你至少有三种方法可以解决这个问题:
git checkout master
Git会告诉你,你已经在主分支
git checkout nonExistantBranch
Git会告诉您所请求的分支不存在
git checkout feature1
Git将成功“结帐”代码。因此,当您打开本地计算机上的任何文件时,它们将仅反映在该特定分支上找到的代码。这是您想要的选项。
如果您收到错误消息,指出该分支不存在,但您认为它存在,请执行git branch -v
,它将显示当前存储库中的所有分支。
还有另一个选择
git checkout -b newBranch
这将告诉git切换到“newBranch”,如果它不存在,请使用当前在您检出的分支上找到的代码创建它。
答案 1 :(得分:0)
您确实下载了所有分支的内容,但git只检出了主分支。要查看其他分支,请运行git branch --all
(或简称为git branch -a
)。远程存储库中名为foo
的分支将在存储库中作为remotes/origin/foo
进行跟踪。在克隆时,您的remotes/origin/foo
将与远程foo
完全相同。如果远程foo
稍后更新,您可以使用git fetch
更新远程跟踪。
正如另一个答案所述,您可以使用remotes/origin/foo
结帐git checkout foo
,这是git checkout -b foo --track remotes/origin/foo
的快捷方式。