在Git中推送提交时,消息’src refspec master与任何’都不匹配

Message 'src refspec master does not match any' when pushing commits in Git

我克隆存储库时使用:

1
git clone ssh://xxxxx/xx.git

但是在我更改了一些文件和addcommit之后,我想将它们推到服务器上:

1
2
3
git add xxx.php
git commit -m"TEST"
git push origin master

但我得到的错误是:

1
2
error: src refspec master does not match any.  
error: failed to push some refs to 'ssh://xxxxx.com/project.git'


也许你只是需要承诺。当我这样做的时候,我遇到了这个问题:

1
2
3
mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .

哎呀!从未承诺过!

1
2
git push -u origin master
error: src refspec master does not match any.

我要做的就是:

1
2
git commit -m"initial commit"
git push origin master

成功!


  • 试试git show-ref看看你有什么参考资料。有refs/heads/master吗?

  • 您可以尝试使用git push origin HEAD:master作为更独立于本地引用的解决方案。这明确说明您希望将本地引用HEAD推送到远程引用master(请参阅git push refspec文档)。


  • 在删除本地计算机中的所有文件之后,我也遇到了类似的错误,我必须清理存储库中的所有文件。

    我的错误信息如下:

    1
    2
    error: src refspec master does not match any.
    error: failed to push some refs to 'git@github ... .git'

    通过执行以下命令解决:

    1
    2
    3
    4
    5
    6
    touch README
    git add README

    git add (all other files)
    git commit -m 'reinitialized files'
    git push origin master --force  # <- caution, --force can delete others work.

    就这样,希望这有帮助。


  • 我的更改已提交
  • 用力推仍然给了我同样的错误。
  • 所以我尝试了vi的解决方案:

    1
    git push origin HEAD:<remoteBranch>

    这对我很有用。


    1
    2
    git push -u origin master
    error: src refspec master does not match any.

    对,你需要提交的消息作为输入,然后推的代码

    1
    2
    3
    git commit -m"initial commit"

    git push origin master

    例如,两个主succesfully


    对于我来说,我必须确保在服务器(附加在~/.ssh/authorized_-keys中)和Github/BitBucket(添加到Github或BitBucket上的ssh-keys中)中正确配置公钥-它们需要匹配。

    然后:

    1
    2
    3
    4
    5
    git add --all :/

    git commit -am 'message'

    git push -u origin master

    最终为我工作。


    我发现这发生在一个全新的存储库中,我只添加了一个目录。

    一旦我添加了一个文件(例如自述文件),git push就工作得很好。


    缺少或跳过git add .git commit可能导致此错误:

    1
    2
    3
    4
    5
    git push -u origin master
    Username for 'https://github.com': yourusername
    Password for 'https://[email protected]':
    error: src refspec master does not match any.
    error: failed to push some refs to 'https://github.com/yourusername/foobar.git'

    要修复它,请重新初始化并遵循正确的顺序:

    1
    2
    3
    4
    5
    git init
    git add .
    git commit -m 'message'
    git *create remote
    git push -u origin master


    要修复它,请重新初始化并遵循正确的代码序列:

    1
    2
    3
    4
    git init
    git add .
    git commit -m 'message'
    git push -u origin master


    确保你已经添加的第一,然后提交/推:

    类:

    1
    2
    3
    4
    5
    git init
    git add .
    git commit -m"message"
    git remote add origin"github.com/your_repo.git"
    git push -u origin master

    当您在一个特定的分支中并尝试推送另一个尚不存在的分支时,也会发生这种情况,例如:

    1
    2
    3
    4
    5
    6
    7
    $ git branch
    * version-x  # you are in this branch
      version-y

    $ git push -u origin master
    error: src refspec master does not match any.
    error: failed to push some refs to 'origin_address'


    添加一个初始的完全承诺,后续的步骤:

    • git add。

    • Git提交的"初始提交"

    • Git主推的起源

      这是我的工作


    在面临着同样的问题,在使用--allow-empty鸭。

    1
    2
    3
    4
    $ git commit -m"initial commit" --allow-empty
    ...
    $ git push
    ...

  • 第一个Git添加。
  • 第二个git提交-m"消息"
  • 第三个Git推源分支请检查拼写错误,因为这也可能导致错误。

  • 这就意味着你忘了做最初的提交,试试看。

    1
    2
    3
    git add .
    git commit -m 'initial commit'
    git push origin master


    我的问题是"主"分支尚未在本地创建。

    快速

    1
    git checkout -b"master"

    创建了主分支,此时,快速:

    1
    git push -u origin master

    把工作推到Git回购。


    我错过跑步时也遇到了同样的问题:

    1
    git add .

    (您必须至少有一个文件,否则将再次出错)


    我也遵循以下GitHubs的指示,但仍然面临着与OP提到的相同的错误:

    江户十一〔一〕号

    对我来说,我希望这对一些人有帮助,我在我的MacOS上推了一个大文件(1.58 GB on disk)。当复制粘贴上面建议的代码行时,我没有等待处理器实际完成add .过程。因此,当我键入git commit -m"message"时,它基本上没有引用任何文件,也没有完成将代码成功提交到Github所需的任何操作。

    证明这一点的是,当我键入git status时,通常会为添加的文件使用绿色字体。但一切都是红色的。好像根本没有添加。

    所以我重拨了步骤。键入git add .并等待文件添加完成。然后按照下面的步骤操作。

    我希望这能帮助别人。


    在"git init"命令之后,您可能忘记了命令"git add"。


    当您添加了文件,忘记提交和推送时,就会发生这种情况。所以提交文件,然后推送。


    我也有同样的问题。我按以下步骤做

    1
    2
    3
    4
    5
    1. git commit -m 'message'
    2. git config --global user.email"your mail"
    3. git config --global user.name"name"
    4. git commit -m 'message'
    5. git push -u origin master

    希望它能帮助任何人


    git add .

    你只需要这个代码就可以跟踪目录中所有未跟踪的文件吗?


    如果你得到这个工作的误差随detach头模式,你可以这样做:

    1
    git push origin HEAD:remote-branch-name

    见也。 制作一个git push从一个detached头

    如果你是在一个不同的局域网的远程分支的分支比,你可以这样做:

    1
    git push origin local-branch-name:remote-branch-name

    在检测出的情况下,你的代码从外部数据库(GitHub) 我想进口和它在个人/内部系统

    这个命令是这样的:

    1
    git push --all origin

    这pushes全行业的两个远程局域网; 没有检查refs, 没有commits insisting在线。


    以防在执行git init和强制初始提交之后仍然面临这个问题。您可以尝试以下操作:

    1
    2
    git checkout -b"new branch name"
    git push origin"new branch name"

    您的代码将作为新分支推送。


    如果你想要推的分支名称中有一个拼写错误,也会发生这种情况。


    在提交之后和推送之前,我忘记了执行"git pull origin master",这导致了同样的问题:"在git中推送提交时,src-refspec master不匹配任何内容"。所以,你应该做的是:

    1
    2
    3
    4
    1. git add .
    2. git pull origin master
    3. git commit -am"Init commit"
    4. git push origin master

    如果是第一次使用Git,则需要配置它:

    1
    2
    3
    git config --global user.email"[email protected]"

    git config --global user.name"Your Name"


    试试这个:

    1
    2
    3
    4
    5
    6
    7
    git add .

    git commit -m"your commit message"

    git remote add origin *remote repository URL*

    git push origin *your-branch-name*

    我收到这个错误是因为我的本地分支名称与我试图用git push origin <>创建的新远程分支不匹配。


    此问题的另一个可能原因是,如果您拼写错误分支名称。所以如果你做了我所做的,那么问题将通过纠正来解决:

    1
    git push origin mater

    1
    git push origin master


    这对我来说很有用,我可以重新设置远程控制回购。

    1
    2
    3
    git checkout master
    git commit -a -m"your comment"
    git push origin master


    只读solved犯这个错误。

    1
    git commit -m"first commit"

    在综合了这个问题随空目录。Git不允许两个推空目录。这是一个简单的解决方案。

    创建的文件的目录.gitkeep里面你想推两个远程和提交的"空"目录中的"命令行:

    1
    2
    3
    touch your-directory/.gitkeep
    git add your-directory/.gitkeep
    git commit -m"Add empty directory"


    检查你的承诺,因为如果你忘记title Git提交"XXXX"命令,你会得到同样的问题

    1
    git commit -m"initial commit"


    我的脸一样的问题,但在我下面的案例,从开始的精确的步骤为特定的页面,当你创建一个新的仓库工作。在这里,我pasting

    1
    2
    3
    4
    5
    6
      echo"# YYYY">> README.md
      git init
      git add README.md
      git commit -m"first commit"
      git remote add origin https://github.com/XXXX/YYYY.git
      git push -u origin master

    在gitbash以上类型的 ""xxxx年username和数据库的名称。


    仔细检查是否输入了正确的分支名称。我也遇到了同样的错误,在看了git show-ref之后,我发现我输入的是错误的,因此没有引用。


    我想是因为你推了一个无效的分支。通常是因为存储库没有公共的主分支(可能是开发分支)。你可以用吉特分行去看树枝。


    如果要在源站远程创建新分支,则需要首先在本地创建相同的分支:

    1
    2
    $ git clone -b new-branch
    $ git push origin new-branch


    我也有类似的错误。但吉特告诉我:

    1
    *** Please tell me who you are.

    1
    2
    git config --global user.email"[email protected]"
    git config --global user.name"Your Name"

    或者设置帐户的默认身份。

    1
    Omit --global to set the identity only in this repository.

    然后错误就消失了。


    这发生在我身上的时候,我没有提到起源的主分支。因此,您可以尝试以下操作:

    1
    git pull origin master

    这将在本地存储库中创建对源站的主分支的引用。然后您可以将本地存储库推送到源站。

    1
    git push -u origin master

    在我的例子中,我忘记了包括.gitignore文件。以下是所需的所有步骤:

  • 在远程上创建一个空的git repo,
  • 在本地创建.gitignore项目的文件。Github在这里为您提供了一个示例列表
  • 启动终端,在项目中执行以下命令:

    埃多克斯1〔8〕

    埃多克斯1〔6〕

    埃多克斯1〔10〕

    江户十一〔11〕。


  • 我有相同的问题,并在以下步骤中修复我的问题:

    • git pull--重新设置https://github.com/yours master
    • Git添加。
    • git commit-m"提交消息"
    • Git推送源站主服务器

    希望有帮助


    老话题,但我有这个问题,想分享我的经验。我已经创建了一个提交。

    一定要推到右边的树枝上

    我在输入git push origin master,但当我输入git branch时,我在一个v1分支上,所以我必须输入git push origin v1


    我在尝试重置存储库时遇到的问题。我想删除所有历史记录,什么也不做。但是,您必须添加至少要提交的内容,所以我刚刚创建了一个空文本文件,git add .,然后是git commit -m"Reset repository"


    我在错误的目录中创建了文件,并尝试执行git push -u origin master,但我得到了错误。一旦我把cd转到当前目录,做git push -u origin master都可以。


    我为一个Github回购做了贡献,所以我分叉了这个项目,克隆了它,创建了我自己的分支,做了一些承诺,并试图推动它。此时,我发现我克隆的不是我的fork,而是原始的项目repo(我没有强制执行的权限)。

    所以我把.git/config改成指向我的repo。

    这时,当我试图推的时候,我得到了错误error: src refspec my_awesome_branch does not match any.

    我所要做的就是触摸任何文件并提交它(就像你在这个答案中看到的那样

    1
    2
    git touch README
    git commit -m"fixing error in my git repo"

    以及:

    1
    2
    3
    4
    5
    git checkout master
    git pull origin master
    git push origin master # this will tell my remote repo about my new branch
    git checkout my_awesome_branch
    git push origin my_awesome_branch # now it will work


    在面临这一问题的精确处理与风险投资虽然在Android的工作室。时间会想要做的是:

  • 选择所有的文件从"应用程序"文件夹;
  • 去(VCS期权上);
  • "add"档案;
  • 人员再通过终端,或通过城市clicking滴下拉菜单,鸭;
  • 推!
  • 尤里卡!:D


    如果您有Visual Studio代码

  • 如果不需要更改跟踪,请删除.git文件夹(如果是git stash)
  • 初始化
  • git commit-m"第一次提交"
  • git远程添加源站https://github.com/yourusername/yourrepo.git
  • 通过Visual Studio代码ui ide从左侧面板转到源代码管理或(ctrl+shift+g)
  • 准备所有更改或部分
  • 提交您的更改
  • 按左下角按钮同步更改(如数字或云图标)然后,Visual Studio希望您输入用户名和密码
  • 如果您有回购权限,可以看到:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    > git push -u origin master
    Fatal: AggregateException encountered.
    To https://github.com/your_account/yourrepo.git
     * [new branch]      master -> master
    > git status -z -u
    > git symbolic-ref --short HEAD
    > git rev-parse master
    > git rev-parse --symbolic-full-name master@{u}
    > git rev-list --left-right master...refs/remotes/origin/master
    > git for-each-ref --format %(refname) %(objectname) --sort -committerdate
    > git remote --verbose
    > git show :ionic.config.json
    > git check-ignore -z --stdin

    GitHub,也许我不知道你是谁。

    第一,你有两个本垒打:
    git config --global user.email"[email protected]"
    git config --global user.name"Your Name"


    @在我的例子中,我必须使用本地Git存储库的完整URL来推送文件。首先,我删除了当前目录中的所有文件。创建了自述文件并添加了它。增加了一些。然后我提交了这些文件,最后推送它们,给存储库提供适当的URL。这里,您的repository是服务器中存储库的名称。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    rm -rf *

    touch README
    git add README
    touch file1 file2
    git add file1 file2

    git commit -m"reinitialized files"
    git push git@localhost:yourrepository.git master --force


    在相同的问题和仇恨,仇恨也发现在不承诺任何文件,所以当我想犯了两个错误,在得到这个消息的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    *** Please tell me who you are.

    Run

     git config --global user.email"[email protected]"
     git config --global user.name"Your Name"

     to set your account's default identity.
     Omit --global to set the identity only in this repository.

     fatal: unable to auto-detect email address (got 'USER@WINDOWS-HE6I2CL.(none)')

    然后在那里全是加我的电子邮件和全球域名和承诺了

    1
    git commit -m 'Initial commit'

    然后,例如

    1
    git push -u origin master

    希望这helps


    我的工作

    只是在主分支

    1
    2
    3
    git checkout -b master
    git add .
    git push origin master

    或使用力的力的变化

    1
    git push origin master --force

    在我的案例库中cloned但没有开关的局部分支

    在solved做中学。

    制造变化的代码之前,你应该这样做 git checkout branch-name

    然后让你的代码的变化

    推后,两个分支的代码 git push -u origin branch-name


    来自git的错误:错误:SRC refspec master与any不匹配。

    通过此步骤修复:git commit-m"第一次提交"

    在我跑步之前:Git添加

    在我跑步之后:git push-u原始主机

    !!!!


    我有一个非常长的当地分支机构的名字。

    1
    git branch -m new_shorter_branch_name

    解决了问题。


    我catched这个误差:SRC refspec掌握任何不匹配。" 当我想推两个GitHub的承诺,有变化(GitHub)。

    1
    git push -u origin branch-name - helped me up to date my local files

    院内的用户对Windows cmder bash,确保创造一个新的.ssh新文件夹在你的home目录。

    1)去你的home目录cd ~

    2)ssh-keygenGenerate SSH的钥匙。

    3)把所有的空白(保持处理输入回车键)

    4)复制文件的ID _ rsa.pub进入你的GitHub > > SSH键参数


    在我的例子中,出现在Windows上的问题似乎与我们在分支名称中添加像feature\这样的前缀有关。我们试图创建并推送一个具有这样前缀的分支(例如,feature\branch),但是已经有一个不同的分支,它的前缀是feature\(例如,Feature\otherbranch)。这意味着在Windows上,新分支被放置在同一个refs\heads\Feature文件夹中。Git可能区分大小写,但Windows文件系统不区分大小写。一旦我们签出了名为feature\branch的本地分支,它就会有所帮助。


    我在Github上把东西推到一个新的回购中时遇到了这个错误。我在本地创建了git repo,另外我还使用Web GUI(包括许可证文件)在github上创建了repo。

    在我将原本空的github repo中的许可证文件提取到本地repo中之后,问题就消失了。在那之后,我可以毫无问题地推进。


    我这样的错误,这是一个问题与"name of the支行,因为使用的字符"&;"。我跳过它的城市"(&;"和它的工作。


    当我得到SRC REFSPEC错误时,上面的所有解决方案都不适用于我。我的工作流:

    • 推送到远程分支(相同的本地分支名称)
    • 删除了远程分支
    • 更改了一些内容和承诺
    • 再次推送到相同的远程分支名称(相同的本地分支名称)
    • 获取了SRC REFSPEC错误。

    通过简单地创建一个新的分支并再次推来修复错误。(奇怪的是,我不能简单地重新命名分支-给我致命的:分支重命名失败)


    我也收到了这个问题,但这是因为我在推之前不小心关闭了服务器。这也会导致同样的错误。


    它不认识,你有一个总体的分支,它是创建和提交一次。

    创建一个主分支:

    1
    git checkout -b master


    如果您在Windows上使用Git-Bash,请尝试重新启动它。为我工作!


    权限问题?解决方法

    我得到这个错误是因为我没有对存储库的推送权限,所以我不得不将它分叉。然后在分叉的repo上再次执行pull、commit和push命令。