将 git push 从 master 更改为 main 并不能解决 "src refspec does not match any" 错误
Changing git push from master to main does not solve "src refspec does not match any" error
我一直在尝试推送到一个新的 git 存储库,我已经有一段时间没有使用 git 了。我使用的计算机与我通常使用的计算机不同,因为我换了工作,并且以前从未从这台计算机成功提交过。这是一台 windows 7 PC,我正在使用 git bash
。
我首先设置了我的 SSH 密钥并将 public 密钥复制到我的 git 集线器设置中。接下来,我 git remote add origin <url>
到 link 在我的组织 git 集线器回购到我计算机上已经包含我想要提交的代码的文件夹的新创建的空存储库。然后我做了:
git init
git remote add origin git@github.com:myorg/myproject.git
git commit -m "First commit"
git add .
git push -u origin master
在推送之前一切正常,但产生了这个错误:
error: src refspec master does not match any
error: failed to push some refs to 'git@github.com:myorg/myproject.git'
在 Whosebug 上搜索后,我发现几篇帖子解释说,由于对所用语言的担忧,在 2020 年,Github 已将其默认存储库的名称从“master”更改为“main”。大多数回复建议只需将推送行编辑为:git push origin main
但是当我尝试这个或该主题的变体(例如 git push origin HEAD:main
)等时,它给了我与上面相同的错误。
然后我认为如果我将空存储库克隆到我的计算机上(工作正常,所以我想我的 .SSH 密钥没有问题)然后将我的文件复制到其中(没有.git
文件夹,以防弄乱)。然而,当我进入推送步骤时,它产生了与上面相同的错误(当使用“main”或“master”时)。
似乎即使 Github 现在将默认分支称为“主”,Git bash 仍将我计算机上的本地文件夹称为“ master” - 因此出现“不匹配任何”错误?
我使用的GitBash版本是2020年3月23日安装的2.26.0.1,难道只是我的git版本需要更新(我今晚无法测试,因为我没有管理员权限)?
请注意,如果我这样做 git show-ref
什么也不会出现 - 不确定这意味着什么,因为其他帖子暗示这应该导致我正在使用的分支名称。尽管在 header.
中,我可以看到 Git Bash 将我的本地分支称为“master”
对于 git push origin main
为什么似乎不起作用以及我可以做些什么来解决这个问题的任何见解,我将不胜感激。
你应该先 git add .
然后才 git commit
。现在您的提交失败,因为没有暂存文件,导致没有初始提交:
git init
git remote add origin git@github.com:myorg/myproject.git
git add .
git commit -m "First commit"
git push -u origin master
我一直在尝试推送到一个新的 git 存储库,我已经有一段时间没有使用 git 了。我使用的计算机与我通常使用的计算机不同,因为我换了工作,并且以前从未从这台计算机成功提交过。这是一台 windows 7 PC,我正在使用 git bash
。
我首先设置了我的 SSH 密钥并将 public 密钥复制到我的 git 集线器设置中。接下来,我 git remote add origin <url>
到 link 在我的组织 git 集线器回购到我计算机上已经包含我想要提交的代码的文件夹的新创建的空存储库。然后我做了:
git init
git remote add origin git@github.com:myorg/myproject.git
git commit -m "First commit"
git add .
git push -u origin master
在推送之前一切正常,但产生了这个错误:
error: src refspec master does not match any
error: failed to push some refs to 'git@github.com:myorg/myproject.git'
在 Whosebug 上搜索后,我发现几篇帖子解释说,由于对所用语言的担忧,在 2020 年,Github 已将其默认存储库的名称从“master”更改为“main”。大多数回复建议只需将推送行编辑为:git push origin main
但是当我尝试这个或该主题的变体(例如 git push origin HEAD:main
)等时,它给了我与上面相同的错误。
然后我认为如果我将空存储库克隆到我的计算机上(工作正常,所以我想我的 .SSH 密钥没有问题)然后将我的文件复制到其中(没有.git
文件夹,以防弄乱)。然而,当我进入推送步骤时,它产生了与上面相同的错误(当使用“main”或“master”时)。
似乎即使 Github 现在将默认分支称为“主”,Git bash 仍将我计算机上的本地文件夹称为“ master” - 因此出现“不匹配任何”错误?
我使用的GitBash版本是2020年3月23日安装的2.26.0.1,难道只是我的git版本需要更新(我今晚无法测试,因为我没有管理员权限)?
请注意,如果我这样做 git show-ref
什么也不会出现 - 不确定这意味着什么,因为其他帖子暗示这应该导致我正在使用的分支名称。尽管在 header.
对于 git push origin main
为什么似乎不起作用以及我可以做些什么来解决这个问题的任何见解,我将不胜感激。
你应该先 git add .
然后才 git commit
。现在您的提交失败,因为没有暂存文件,导致没有初始提交:
git init
git remote add origin git@github.com:myorg/myproject.git
git add .
git commit -m "First commit"
git push -u origin master