仅拉取或克隆存储库只获得主分支

49

当我使用 git clone 克隆存储库或使用 git pull origin mastergit pull origin myBranch 时,我在 BitBucket 上托管,它第二次拉取,但是当我使用 git branch -v 列出分支时,我只看到master。 使用git status什么也没有显示。

如何将Web repo中的所有分支都拉取到我的本地repo中?

是否因为我更改了计算机并且更改了git设置中的名称,所以它只允许我获取master,因为它是默认分支,其他人可以通过创建者才能访问另一个分支?

2个回答

66

分支确实存在,但你看不到它们

尝试使用以下方法:

git branch -a

现在您将看到远程分支列表,例如origin
输出:
remotes/origin/tk_removes_call_centers
remotes/origin/tk_warm_transfer_fix
remotes/origin/update_README

你随后可以

git checkout [any_individual_branch_name]

你还可以通过使用git branch -v --all命令获取相同的列表,其中包括最近的提交信息,例如:

git branch -v --all

输出:

remotes/origin/tk_removes_call_centers     1478b14 re-adding call feedback workers
remotes/origin/tk_warm_transfer_fix        94720c5 handling blank auto policy
remotes/origin/update_README               a769b82 Update README

git branch -v(不带--all参数)只显示你曾经操作过的分支。当你使用--all参数时,会显示所有在origin/下的跟踪分支。

相关:


4
你也可以使用简写形式:git branch -a - Don Branson
分支mybranch已设置为跟踪来自origin的远程分支mybranch。 切换到新分支'mybranch'。该消息的意思是成功将本地分支切换到名为'mybranch'的新分支,并且该新分支已经与远程分支'mybranch'建立了跟踪关系。 - JohnA
1
@DonBranson 谢谢,我已经添加了这个并说明了它的区别。 - Michael Durrant
但是为什么会发生这种情况呢? - Despertaweb
按设计,“只显示你曾经工作过的分支(本地创建)”。以显示相关信息,例如你使用过的3个分支而不是你从未使用过的300个分支。 - Michael Durrant

1

执行以下命令列表:

git branch -a :

您将看到远程分支的列表。

git remote show origin

它将显示本地存储库已知的所有分支。如果要使用的分支不在列表中,请运行以下命令:

git remote update

它会更新本地存储库跟踪的所有远程分支的整个列表,然后运行

git fetch

它会更新所有已跟踪的分支。

然后,您可以使用以下checkout命令创建您的分支:

git checkout -b your_branch_local_name origin/your_branch_remote_name


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接