错误:src refspec master与any匹配。当试图推向Bitbucket回购时

时间:2017-01-12 18:47:58

标签: git bitbucket

我在mysql_创建了一个新的仓库,并遵循规定的非常简单的步骤。首先,我在本地文件夹中Bitbucket进行版本控制。然后我做了:

git init

那很有用。最后一步是:

git remote add origin https://my_account@bitbucket.org/my_account/my_project.git

我获得了以下内容:

git push -u origin master

为什么我会收到此错误?

3 个答案:

答案 0 :(得分:5)

如果有人仍然收到此错误,请在git add .之前尝试git commit -m "init"git push origin master。希望这有用。

答案 1 :(得分:1)

您没有master分支。

考虑你所做的步骤:

  1. git init:这创建了一个新的空存储库,没有提交。

    鉴于没有提交,提交哪个分支或分支? (这是一个有点哲学的问题,但它应该得到你最好的答案。)

  2. git remote add origin url:这添加了一个远程,它基本上只是一个URL的简称。您的空存储库现在有一个名为origin的遥控器,它是URL的缩写。

  3. git push origin master:这会要求您的Git将短名origin指定的URL推送到其他Git,master分支上的所有提交,不在他们的 master分支上,然后将他们的master分支设置为指向与您的{{相同的特定分支提示提交1}}分支。

  4. 现在,计算存储库中的所有提交。那里有多少?你希望你的Git在第3步推进多少次提交?分支master上有多少次提交?如果没有提交,那么分支master甚至是否存在? (这让我们回到第1步中的哲学问题。)

    现在假设您{<1}}某些文件到索引(索引是您构建 next 提交的位置),然后运行master 。你有多少次提交?提交将在哪个分支上进行? (这个问题最终令人惊讶地棘手,虽然事实上显而易见的答案 - “所有新提交,因此是一次提交,将在分支git add上” - 是正确答案。)

    在Git的世界中,分支永远不会为空 - 它永远不会没有提交。没有提交的分支根本就不存在。奇怪的是,你可以 on 这样的分支。 (这些分支有两个不同的形容词,用于描述或创建它们,具体取决于您正在查看的Git命令或输出:未出生的分支孤儿分支。)

    在Git中分支意味着你的 next 提交,你在索引中构建的那个扩展那个分支,为它添加一个新的提交。因此,您的问题的解决方案是在分支git commit时至少进行一次提交,以便分支master与您首次提交时出现。然后你就可以推它了。

答案 2 :(得分:0)

最后我尝试了这个。可以。

git push origin HEAD:<remoteBranch>