使用git branch -r时,GitHub上的新远程分支未显示

时间:2014-05-11 19:17:22

标签: git github

似乎我们可以使用

git branch -r

git branch -a

查看远程分支。但是,当我在GitHub上git clone我的回购,然后在GitHub上添加了一个分支,并尝试了上面的命令时,我在本地机器上看不到新的分支。我甚至编辑了一个文件并在新分支上提交,但仍然无法使用这些命令在本地计算机上看到新分支。

在我使用git pull之前,git branch -a会显示新分支(但git branch不会)。但我想我可能不想使用git pull,因为它会在本地更新我的文件。在那种情况下,我可以看到所有远程分支吗?

(另外,我会使用remotes/origin/wah-la-la将新分支视为git branch -a,然后只有在我执行git checkout wah-la-la之后,然后从这一点开始,我将能够当我执行master时,请同时查看wah-la-lagit branch。在结帐前我无法看到wah-la-la吗?)

4 个答案:

答案 0 :(得分:5)

git branch仅显示本地存储库中本地存在的分支(直接分支或远程分支)。要更新它们,您可以使用git fetch并从遥控器获取所有当前对象。

您还可以使用git ls-remote列出远程的所有分支,而无需从中获取任何内容。

答案 1 :(得分:2)

执行git branch -a时,它仅显示已从远程存储库中提取的本地和远程跟踪分支。首先,您需要从远程存储库获取更新,然后您将能够列出新的远程跟踪分支:

git remote update
git branch -a

答案 2 :(得分:2)

我已经习惯于在pull分支的情况下将fetch分为mergemaster

git fetch origin
git log --graph --decorate --pretty=oneline --abbrev-commit --all
git merge origin/master

log命令显然缩写为alias

答案 3 :(得分:2)

每次运行时,

git branch都会设计得很快。如果必须查询网络以检查其他人可能已添加的新分支,则会使其变慢。并且责任分离很糟糕:还有其他命令来执行网络操作。

要更新特定遥控器的分支列表,例如origin,请执行git fetch

git fetch origin

之后,您将看到git branch -r的新分支。

更新所有遥控器的远程分支:

git remote update