Git无法识别任何远程分支

3
首先,我在我的整个生命中总共只使用过3天的Git。我已经阅读了很多资料,对基础知识有所了解。
我们正在尝试设置一个分段服务器。工作流程应该如下:“本地->分段->实时”。
我的本地机器可以连接到git仓库,并且它可以看到所有的分支,并允许我推送分支。实时服务器可以看到分支并拉取/合并。分段服务器能够克隆主分支,并可以查看remotes / origin / {还有一些其他内容}。但是,分段服务器看不到所有的分支。
我尝试过fetch、hard reset、设置跟踪分支和任何SO和Google建议的其他方法。我不知道该怎么继续下去了。
这是我本地的“branch -a”输出: $ git branch -a * all-to-staging choose-all country-route master select-to-autocomplete sharebuttons remotes/origin/HEAD -> origin/master remotes/origin/all-to-staging remotes/origin/choose-all remotes/origin/country-route remotes/origin/master remotes/origin/select-to-autocomplete remotes/origin/sharebuttons remotes/origin/tablesaw remotes/origin/wrapping-blockquotes
这是我的分段输出结果:
# git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/live remotes/origin/master 我甚至可以看到all-to-staging分支:
如何让我的分段站点识别all-to-staging分支,以便我可以拉取它并让其他人看到这个更改?

2
你尝试过 git fetch --all 吗? - Don Branson
1
你需要使用 git remote -v show 命令,并且最好将你的远程仓库命名为除了 origin 以外的其他名称。 - Andrew C
为什么要使用除 origin 以外的名称? - Don Branson
那么,它在这种情况下如何帮助呢? - Don Branson
我已经尝试了 fetch --all。我认为情况是 origin 设置为实时网站,而不是 git 仓库 :/ - salty
1个回答

7

所以我弄明白了,希望这能帮到其他人。

使用git remote -v我意识到我的源指向了现场网站,而不是我的仓库。

有了这个知识,我按照以下命令指南https://help.github.com/articles/changing-a-remote-s-url/更改了远程url:

git remote set-url origin https://github.com/{my username}/{my repo}.git

如果您的代码仓库是私有的,使用SSH可能会更好。SSH与HTTPS相似。

git remote set-url origin git@github.com:{my username}/{my repo}.git

使用 git remote -v 命令查看你的源,你应该能看到你的新源地址。

现在有两件事情要做。正确的方法是创建一个新目录,并再次从头拉取仓库以使git设置正确。操作如下: cd .. mkdir {新项目目录} cd {新项目目录} git clone git@github.com:{我的用户名}/{我的仓库}.git git branch -a git checkout {你的分支名} git pull

第二种方法比较棘手,因为你可能会遇到问题,但有时候项目的设置非常复杂,值得冒险尝试,以免不得不重新设置。这就是我解决问题时采用的方法。

使用 git branch -a 命令检查分支,如果还看不到你的分支,则需要使用 git fetch 命令进行获取,然后你就能看到自己的分支,并可以使用git checkout命令切换到所选分支了。

操作如下:

git branch -a
{no branches shown}
git fetch
git branch -a
{all branches shown}
git checkout {your-branch-name}
git pull

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