branch存在于本地和github上,但不能推送

时间:2014-04-11 19:08:19

标签: git github

首先,我为这样一个noob问题道歉;但是git似乎是永远存在的东西,所以所有文档似乎都假设了一些知识。我目前正在阅读Gitpro,看看是否存在解决方案,但我想我也会问这里。

注意:某些名称已更改,但所有格式均正确

所以,我在https://github.com/Jose/Fitnet有一个名为fitnet的github存储库 这有三个分支:masterdevstaging,以及以下网址。

我已经在github网站上验证了这些存在。

master:         github.com/Jose/Fitnet/Tree/master
fitnetdev:      github.com/Jose/Fitnet/tree/fitnetdev
fitnet_Staging: github.com/Jose/Fitnet/tree/fitnet_staging

在本地,我有这些分支:

  • fitnet_staging
  • fitnetdev

我在本地有这些遥控器:(通过git remote -v)

Master               https://github.com/Jose/Fitnet (fetch)
Master               https://github.com/Jose/Fitnet (push)
fitnet_staging       https://github.com/Jose/Fitnet/tree/fitnet_staging (fetch)
fitnet_staging       https://github.com/Jose/Fitnet/tree/fitnet_staging (push)
fitnetdev            https://github.com/Jose/Fitnet/tree/fitnetdev (fetch)
fitnetdev            https://github.com/Jose/Fitnet/tree/fitnetdev (push)

我在c:\ fitnet

上使用git Init在命令行上创建了所有这些分支

然而,当我尝试:

git push fitnet_staging fitnet_staging

,我收到一条错误消息:

C:\Fitnet>git push fitnet_staging fitnet_staging
fatal: https://github.com/Jose/Fitnet/tree/fitnet_staging/info/refs?service=git-receive-pack not found: did you run git update-server-info on the server?

我确信我错过了一些非常基本的东西,这对你们所有的git专家来说都是老手,所以再次,我为提出这样一个问题而道歉。

非常感谢

1 个答案:

答案 0 :(得分:1)

您不必将各个分支添加为遥控器。在git中,一个存储库将等同于一个远程存储库,反之亦然。一个存储库本身可以包含多个分支,并且使用相同的远程访问所有分支。

所以,解决你的问题

  1. 清除当前存储库中的所有遥控器。为此,您可以编辑本地存储库中的.git/config文件,并删除所有标记为[remote ""]

  2. 的条目。
  3. 接下来,在您的本地存储库中,使用以下命令将远程github添加到本地存储库:

    git remote add github https://github.com/Jose/Fitnet
    
  4. 最后,你可以从你当地的仓库推送到github,如:

    git push github fitnet_staging