Git: git push -u origin origin:master

Git: git push -u origin origin:master

所以我在标题中列出了问题。

我只想使用 git push -u origin master

但是如果输入这个命令我会得到:

error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/myprofile/my_project.git'

我搜索了这个问题(git: error: src refspec master does not match any, src refspec master does not match any when pushing commits in git) - 但解决方案对我的情况没有帮助。

好像我只是忘记了对原始远程分支做一些初始提交,而是创建了另一个分支然后被使用。

这是git ls-remote的输出:

$ git ls-remote
From https://github.com/myprofile/my_project.git
152e795f054f6f756842bf61ee968ba3e5ee873d        HEAD
7d505dbf09585ecfbb239c2148337043b899cc13        refs/heads/add-mysql-repo
152e795f054f6f756842bf61ee968ba3e5ee873d        refs/heads/break-into-modules
e7905a3dacc9ea3e6c4c1f2dd9412f8deb692e30        refs/heads/master

这是 github 图的网络 window:

所以总结一下 - 我应该怎么做才能正确使用 git push -u origin master 而不是 git push -u origin origin:master

编辑:

$ git 分支 -avv

  add-mysql-repo        7d505db add mysql case to switch
  break-into-modules    152e795 add gitignore
* origin                e7905a3 [origin/master] add methods for entities validation
  remotes/origin/master e7905a3 add methods for entities validation

$ git 远程 -v

origin  https://github.com/myprofile/my_project.git (fetch)
origin  https://github.com/myprofile/my_project.git (push)

考虑 git branch -avv 的输出:

  • 您没有名为 master
  • 的本地分支
  • 您有一个与 origin 同名的分支(远程引用 upstream repo)。

这意味着你应该:

  • rename the branch origin:

    git branch -m origin master
    
  • 正常推送

    git push -u origin master