在 Git 中推送提交时消息“src refspec master does not match any”

2023-05-16

问:

我克隆我的存储库:

git clone ssh://xxxxx/xx.git 

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

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

但我回来的错误是:

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

答1:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

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

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

哎呀!从未承诺!

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

我所要做的就是:

git commit -m "initial commit"
git push origin main

成功!

不要盲目地按照这一步,看看@Vi提到了什么,然后修改你的push命令来更正ref。

此错误最可能的原因是所有文件都未跟踪且尚未添加。 git add --all 如果您希望添加所有文件或者您可以有选择地添加文件。然后是 git commit -m "Initial comment"、git push origin master。这肯定会奏效。

修复了不同的问题,这很好,但不是这个实际问题的真正答案。

git commit -m 'initial commit' 应该用双引号引起来。 'git commit -m "initial commit",至少在 Windows 上。

另一个可能的原因:您实际上没有一个名为 master 的分支

答2:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

试试 git show-ref 看看你有什么参考。有裁判/负责人/大师吗?

由于最近的“在 GitHub 中用 main 替换 master”操作,您可能会注意到有一个 refs/heads/main。因此,以下命令可能会从 git push origin HEAD:master 更改为 git push origin HEAD:main

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

我的主分支不在提交之上!所以我创建了一个分支,它位于所有分支的末尾,并将它们推送到服务器:

git checkout -b 测试分支; git push origin testbranch:master

git show-ref 展示了我的分支; git push origin HEAD: 为我工作。

你刚刚救了我 Vi。感谢您的git push origin HEAD:master。但是为什么像 git push --force origin master 这样的东西不起作用?

master 现在更改为 main。

答3:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

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

我的错误信息是这样的:

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

通过执行以下命令解决了这个问题:

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.

其他答案并没有解决我遇到的问题(例如,我已经提交并且仍然有这个错误),但是做一个 git push origin BRANCH --force 工作。谢谢!

请参阅this earlier answer。我怀疑您需要添加一个文件,因为 git 不会跟踪空目录。

push --force 也可能完全摧毁同事的辛勤工作。由它添加警告。

这解决了我的问题。我认为 git add 做到了。虽然一开始 git 无法识别事物,但这可能就是我遇到问题的原因。 git add 命令解决了我的问题。在那之后,我也能够在没有 --force 的情况下推动。谢谢阿约

答4:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

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

为此,您需要按如下方式输入提交消息,然后推送代码:

git commit -m "initial commit"

git push origin master

成功推送给master。

我检查了它的工作。请忽略 -u 选项然后尝试

这里的问题似乎与 OP 的完全不同......但似乎包括我在内的许多人都有这个问题。

答5:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

对我来说,我必须确保在服务器(附加在 ~/.ssh/authorized_keys)和 GitHub/Bitbucket(添加到我在 GitHub 上的 SSH 密钥中)正确配置了 公钥或 Bitbucket)——它们需要匹配。然后:

git add --all :/
git commit -am 'message'
git push -u origin master

答6:

huntsbot.com – 高效赚钱,自由工作

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

一旦我添加了一个文件(例如一个自述文件),Git push 就很好用了。

这可能有效,因为 git 实际上并不跟踪目录,只跟踪文件。因此,如果目录为空,git 不会实际添加它。

OP 添加了一个文件(xx.php),因此在这种情况下这不是问题,即使在其他情况下这可能是一个问题,并且添加一个文件可以解决该问题。

这样一个令人沮丧的问题的简单解决方案。我正在测试 repos 的创建和克隆,并创建了空目录而不是文件。

8 年后,这让我有些头疼!

在我的情况下, 1--> git init 2---> git add origin....etc 3---> git git push -u origin master ===>然后我得到了上述错误。 ===>然后我执行了以下2个命令,它消失了。 ---> git add * ---> git commit -m "Some message" --->git git push -u origin master ===>对我来说工作得很好,就我而言。

答7:

huntsbot.com – 高效赚钱,自由工作

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

git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://yourusername@github.com': 
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourusername/foobar.git'

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

git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master

没错,业务端具体是git remote add __REMOTE_NAME__ __URL_OR_SSH__,上面的远程名称是“origin”

他们在他们的问题中添加并承诺,因此即使这对其他人有所帮助,这也不是问题所在。

但是,由于此处使用了 -u 选项,此答案确实有效。

git *create remote 是什么?

答8:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

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

git init
git add .
git commit -m 'message'
git push -u origin master

答9:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

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

$ 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'

哈哈。我试图推送到原始主机,但该分支不存在。它被称为起源稳定。

-u 可能在这里有所帮助。

上面这种情况,问题当然是没有本地分支master,所以不能push。您要么想要推送现有分支,要么创建主分支然后推送它,如下所示:git checkout -b master; git push -u origin master;

当我拼错分支名称时,我才得到这个。

我当地的分支机构拼写为“sheduler”,而我正在做 git push origin scheduler。哈!一封信将在编程中杀死您。哈哈

答10:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

确保您首先添加,然后提交/推送:

喜欢:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master

答11:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

我遇到了同样的问题,我使用了 --allow-empty:

$ git commit -m "initial commit" --allow-empty
...
$ git push
...

补充

此问题的主要原因之一是某些 Git 服务器(例如 BitBucket)在克隆新存储库时没有初始化其 master 分支。

这是唯一真正有效的。

原文链接:https://www.huntsbot.com/qa/EVZq/message-src-refspec-master-does-not-match-any-when-pushing-commits-in-git?lang=zh_CN&from=csdn

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Git 中推送提交时消息“src refspec master does not match any” 的相关文章

  • 允许 PR 构建验证构建而不发布工件

    我正在尝试在我们的主分支上为 PR 设置一些构建验证 我们正在使用 Git 和 VSTS 我添加了一些构建策略来根据已更改的文件启动各种构建 对于某些背景 我们在流程的早期创建 PR 以便我们可以在开发功能分支时跟踪更改并添加评论 现在 我
  • Git 推送失败(Github/RStudio)

    我过去曾在这台机器上成功使用过 Git 但突然间我无法再将我的提交推送到 Github 存储库 我对 Git 工具链所做的最后一次更改是除了 Windows 客户端的 Github 之外还安装了 Git 1 8 5 2 除非我已经启动了 G
  • 重置远程跟踪分支

    如何将远程跟踪分支的分支指针重置为其之前的提交之一 这样看起来我没有拉动 类似于本地分支的硬重置 您可以使用以下命令设置对任何其他提交的引用 git update ref refs remotes origin master
  • 显示哪些与特定模式匹配的文件在 git 分支之间发生了更改

    我想合并两个分支 但在此之前 我想检查文件名以以下字符结尾的所有文件上两个分支之间的更改 twig 是否可能 或者我应该使用一些 bash magic 像git diff name only branch1 branch2 grep twi
  • 每个 git commit 的树对象内容存储哪些信息

    每个 Git 提交对象都指向一个树对象 每个提交树对象是否都存储其所有条目 还是仅添加新条目并且仅包含来自提交父级的增量 例如Linux 源代码有 1M 提交和数千个对象 master 有 70 000 个 如果每个提交对象都包含所有对象的
  • 如何消除autocrlf造成的损害?

    我已经使用 git 并将 autocrlf 设置为 true 一段时间了 我一直通过 cygwin 与 git svn 一起使用它 这给我带来了很多问题 我明白了here https stackoverflow com questions
  • 使用不同的配置文件设置 Git 的开发和测试分支

    我们有一个 WordPress 安装 它有不同的实时 测试 开发配置文件 我知道如何让 Git 忽略wp config php文件 但我想在每个分支中有一个不同的 WP config 文件 这样当开发人员切换到 Dev 时 它将使用 Dev
  • git clone 永远挂在 github 上

    当我按照 github 中的第 5 点 测试所有内容 时guide http help github com linux set up git ssh 命令也永远挂起 根据该指南 我应该看到一条消息 Github 不提供 shell 访问
  • Git 日志仅获取特定分支的提交

    我想列出仅属于特定分支的所有提交 通过以下内容 它列出了来自分支的所有提交 也列出了来自父级 主 的所有提交 git log mybranch 我发现的另一个选项是排除 master 可到达的提交并给我我想要的东西 但我想避免需要知道其他分
  • 从 SVN 转换为 Git 时,如何将修订号放入提交消息中?

    我们将把我们的存储库从 Subversion 转换为 Git 但希望能够保留 SVN 修订号 因为错误跟踪器中的注释会定期引用它 我们将使用git svn clone以及中描述的过程约翰 阿尔宾的博客 http john albin net
  • Git 工作流程和 Gerrit

    我正在尝试使用 Gerrit 实现 git flow 类型的工作流程 但我似乎无法弄清楚最后一块拼图 我的问题有两个先决条件 Gerrit 只会对一个分支执行合并 我不允许将合并提交推送到 Gerrit 更改获得批准后 合并必须由 Gerr
  • Git 和 Dropbox - 本地存储库

    我阅读了大量有关 Dropbox 和 Git 功能结合的帖子并观看了许多视频 其中一个线程是这样的 有效地结合使用 Git 和 Dropbox https stackoverflow com questions 1960799 using
  • git:更改旧的提交消息而不产生冲突

    我想使用以下命令更改一个相当旧的提交消息 git rebase i sha1 of commit 这很好 我愿意git commit amend并编辑消息 但是当我这样做时事情会变得很糟糕 git rebase continue 我遇到了多
  • 每个命令重置外部差异工具

    我最近安装了一个新的差异工具 差异性的 https github com Wilfred difftastic 这扰乱了我将差异复制到剪贴板 或文件 以发送这些内容的习惯 diff external difft As per https d
  • 如何提供准备好的 git 提交消息?

    按照惯例 我在 git 中创建故事分支 以在其中包含 Jira 问题 ID 例如FOO 1001 我有一个脚本可以帮我做到这一点 现在 我准备了另一个脚本 用于从 Jira API 获取 FOO 1001 的标题 我想在输入时实现这一目标
  • Git:用一个命令推送到两个存储库

    我想要做git push origin and git push my other remote在同一条线上 可能的 您可以通过为您的应用添加额外的推送 URL 来获得相同的效果origin偏僻的 例如 如果现有遥控器的 URL 如下 gi
  • 使用 Github for Windows 通过 SSH 处理自己的私有 Git

    现在 我正在使用 msysgit 来使用 SSH 来处理存储在 ec2 Amazon 云服务器上的我自己的私有存储库 到目前为止 我已经能够通过 Git Bash 成功连接到这些存储库 使用 ssh keygen 创建 ssh rsa 公钥
  • GIT: /.git/index.lock': 文件存在

    我的 git 存储库一直存在问题 我不断收到以下错误 fatal Unable to create v path to files git index lock File exists If no other git process is
  • 创建 git 分支并将其合并到史诗分支

    我正在开发一个项目 例如 SO bubbleSort 我需要创建一个名为 feature version 1 的史诗分支 因此从这个史诗分支中很少有开发人员进行开发 因此为此 他们需要创建一个将分支与史诗分支分开 我的问题是我们如何合并这些
  • 使用 .gitattributes 强制 LF 行结尾而不丢失自动文本/二进制推理?

    我想用eol LF在我的 gitattributes 文件中 但我希望它适用onlyGit 自动将文件确定为文本文件 我能找到的最好的方法是将特定的文件扩展名 全局定义为文本或二进制 这并不理想 因为列表可能很大 我试过了 text aut

随机推荐

  • 修改git config

    git config local e 编辑仓库级别配置文件 git config global e 编辑用户级别配置文件 git config system e 编辑系统级别配置文件
  • Linux软件包的安装(rpm+yum)

    概述 xff1a 1 rpm软件包管理命令 软件包的获取 a 光盘镜像中有很多软件包可以使用 xff1a 先挂载光盘 xff0c 再查看软件包 b 从软件的官网获取 rpm 安装rpm包 ipm ivh 软件包名称 删除rpm包 ipm e
  • ubuntu samba配置好 没有权限写入解决

    在ubuntu下创建 samba后发现不能写 xff0c 用下面方法即可解决 xff1a 进入共享目录后 xff1a 执行命令 xff1a chmod R go 43 rwx share
  • outlook 使用git send-email发送邮件smtp的配置

    sendemail smtpencryption 61 tls sendemail smtpserverport 61 587 sendemail smtppass 61 xxxx sendemail smtpserver 61 smtp
  • virtio-user pmd driver 加载命令

    host server client dpdk testpmd l 9 10 n 4 file prefix 61 vhost vdev net vhost0 iface 61 tmp sock0 queues 61 1 i dpdk te
  • testpmd vdev设置队列深度

    dpdk testpmd l 2 3 n 4 file prefix 61 mtr vdev 61 net virtio user0 path 61 dev vhost vdpa 0 queues 61 1 queue size 61 51
  • ovs-vswitchd dbg

    root 64 Standard PC i440FX PIIX 1996 home smoke test gdb fGNU gdb Ubuntu 8 1 1 0ubuntu1 8 1 1 Copyright 2018 Free Softwa
  • Snorkel-数据标注系统

    为什么需要数据标注 在面临机器学习问题时 xff0c 我们往往会面临两个问题 xff1a 数据和算法 xff08 模型 xff09 随着各种机器学习框架的完善 xff0c 算法的应用门槛正在逐渐的降低 但数据的获取却仍然是一个费时费力的必需
  • Ubuntu扩展虚拟机的磁盘空间以及删除磁盘分区的方法

    1 虚拟机的磁盘扩容步骤如下 xff1a 2 将扩展的磁盘空间挂载到系统中 1 xff09 分区操作的几个命令 fdisk 磁盘分区相关操作 df 系统分区挂载信息 mount 挂载分区 umount 卸载分区 mkfs ext4 格式化分
  • 【计算机网络】数据链路层-基本数据链路层协议

    计算机网络 数据链路层 基本数据链路层协议 协议1 xff1a 一个乌托邦式的单工协议 单工协议即数据只能单向传输 这个协议假设信道永远不会丢失或损坏帧 xff0c 接收方的处理能力足够快 xff0c 缓冲区足够大 发送程序无限循环 xff
  • 【ESP32_FreeRTOS篇】

    FreeRTOS 是一款 开源免费 的实时操作系统 xff0c 遵循的是 GPLv2 43 的许可协议 这里说 到的开源 xff0c 指的是你可以免费得获取到 FreeRTOS 的源代码 xff0c 且当你的产品使用了 FreeRTOS 且
  • 通过xmanager连接linux远程主机桌面

    1 效果图 xff1a 远程linux桌面版主机 xff0c 此处是虚拟机 xff1a 使用xmanager xbrowser 连接后的界面 xff1a 2 使用方法 xff1a linux服务器端配置修改 xff1a a 修改gnome配
  • setTimeout()和setInterval()详解

    JavaScript是单线程语言 xff0c 但是它可以通过设置超时值和间歇时间值来指定代码在特定的时刻执行 超时值是指在指定时间之后执行代码 xff0c 间歇时间值是指每隔指定的时间就执行一次代码 超时调用 超时调用使用window对象的
  • Centos 7.6安装Xfce+VNC Server

    Centos 7 6安装Xfce 43 VNC Server 工作环境安装xface安装 VNC Server在云服务器控制台中设置安全组规则使用VNC Viewer连接云服务器 工作环境 华为云服务器 操作系统 xff1a CentOS
  • C++和C语言的区别是什么?

    首先C 43 43 和C语言本来就是两种不同的编程语言 xff0c 但C 43 43 确实是对C语言的扩充和延伸 xff0c 并且对C语言提供后向兼容的能力 C 43 43 这个词在中国大陆的程序员圈子中通常被读做 C加加 xff0c 而西
  • ubuntu18.0.4安装pip3及虚拟环境virtualenv详细教程

    1 ubuntu安装pip3 该命令是修复安装及补全那些缺少的软件 xff1a sudo apt get f install 安装pip3 xff1a sudo apt get install python3 pip升级pip3 xff1a
  • 什么是子网掩码,如何判断两个IP是不是同一网段

    1 xff1a 什么是子网掩码 xff1f 子网掩码不能单独存在 xff0c 它必须结合IP地址一起使用 子网掩码只有一个作用 xff0c 就是将某个IP地址划分成网络地址和主机地址两部分 说的通俗的话 xff0c 就是用来分割子网和区分那
  • 利用esp-8266实现wifi攻击

    0x00 前言 之前在b站上看到这个wifi模块的攻击视频感觉挺有意思 xff0c 就在某宝上入了一个拿回来玩玩 0x01 外观 转接头需要自己另外买 0x03 编译程序 https anky cc esp8266 deauther wif
  • 如何从 JavaScript 对象中删除属性?

    问题描述 xff1a 给定一个对象 xff1a let myObject span class token operator 61 span span class token punctuation span span class toke
  • 在 Git 中推送提交时消息“src refspec master does not match any”

    问 xff1a 我克隆我的存储库 xff1a git clone ssh span class token operator span span class token operator span span class token oper