【发布时间】:2018-03-17 19:09:34
【问题描述】:
在将我在新分支 branchname 上的最新工作提交到机器 A 上的本地 git 仓库后,我将这项工作推送到我的 gitlab 远程仓库
$ git push origin branchname
master 分支已经与远程仓库同步。所有分支都出现在我的 gitlab 列表上的远程仓库中。
我后来去了机器B。我先做了一个
$ git pull origin master
并且 master 已更新,但是当我输入 git branch 时,我的新 branchname 没有出现,我新的另一个分支也没有出现在历史树中。我去了这个post 并按照第一个答案的指示进行操作。另一个“git 分支”仍然没有显示我的其他分支。一时兴起,我只是试着做
$ git checkout branchname
它在那里并且检查得很好。然后,git branch 命令在我的分支列表中显示了 master 和 branchname。我对另一个分支做了同样的事情,然后它也在git branch 命令之后出现在分支列表中。
对于此类操作,这是正常的 git 行为吗?我想知道的主要问题是,如果您从远程存储库中提取或获取以更新必须知道远程分支的先前知识的本地存储库,为什么它们不在git branch 命令期间出现?而且,为什么我在git branch 之后看不到它们时可以查看它们?
这个传奇与THIS 类似,但我的分支实际上在那里,只是在我检查它们之前没有显示以下 git 分支命令。
【问题讨论】:
-
git branch -a显示远程和本地分支,git branch仅显示本地分支。在机器 B 中,branchname在git checkout branchname命令之前不作为本地分支存在。
标签: git version-control git-branch git-remote git-fetch