git 分支未显示所有分支

git branch not showing all branches

我有一个 github 存储库,其中有 2 个分支,分别名为 mastermobilemobile 分支是 GitHub 上的默认分支,这也是我从本地目录推送到的分支。

每当我必须推送到远程时,我必须输入以下命令:

git push origin HEAD:mobile

我不明白为什么我必须使用 HEAD 这个词才能工作。当我不使用它时,我得到一个 refspec 错误。

当我使用 git branch 检查分支时,它只显示 * master。我不明白为什么它看不到 mobile 分支。

git fetch 的输出是:

remote: Enumerating objects: 157, done.
remote: Counting objects: 100% (157/157), done.
remote: Compressing objects: 100% (111/111), done.
remote: Total 157 (delta 43), reused 154 (delta 42), pack-reused 0Receiving objects:  99% (156/157), 13.77 MiB | 9.01 MiB/s
Receiving objects: 100% (157/157), 14.22 MiB | 9.02 MiB/s, done.
Resolving deltas: 100% (43/43), done.
From https://github.com/myname/myreponame
 * [new branch]      master     -> origin/master

git branch --all -vv 的输出是:

* master                f1881f6 cracker capture fixed
  remotes/origin/master ccad84b Create README.md
  remotes/origin/mobile  f1881f6 cracker capture fixed

通常推送到你的主分支只需要使用 'git push' 但如果你使用另一个分支那么应该是 git push origin (branch-name)

您有一个远程 mobile 分支,但这不会自动为您提供一个本地 mobile 分支。如果你想要一个,你必须做一个。你忘了这样做。因此,您一直在 master 上工作,但正在推送到远程 mobile.

要基于远程 mobile 创建本地 mobile,请说 git switch mobile

(不幸的是,这不会消除您通过将提交从本地 master 推送到远程 mobile 所造成的损害。但它确实完全解释了您在你的问题,即为什么你没有看到任何 mobile 列出以及为什么你必须说 git push origin HEAD:mobile。)