在git中推送提交时,src refspec master与any不匹配

sin*_*ohe 2472 git commit

我克隆了我的存储库:

git clone ssh://xxxxx/xx.git 
Run Code Online (Sandbox Code Playgroud)

但之后,我改变了一些文件,并addcommit他们,我想他们推到服务器:

git add xxx.php
git commit -m "TEST"
git push origin master
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是:

error: src refspec master does not match any.  
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
Run Code Online (Sandbox Code Playgroud)

小智 3799

也许你只需要提交.我做的时候碰到了这个:

mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .
Run Code Online (Sandbox Code Playgroud)

哎呀!永不承诺!

git push -u origin master
error: src refspec master does not match any.
Run Code Online (Sandbox Code Playgroud)

我所要做的就是:

git commit -m "initial commit"
git push origin master
Run Code Online (Sandbox Code Playgroud)

成功!

  • 不要盲目地按照这一步,查看@Vi提到的内容,然后修改push命令以更正ref. (121认同)
  • 出现此错误的最可能原因是所有文件都未跟踪且尚未添加.`git add --all`以防你想添加所有文件或者你可以有选择地添加文件.然后`git commit -m"初始注释"`,`git push origin master`.这肯定会奏效. (41认同)
  • `git commit -m'initial commit'`应该是双引号.'`git commit -m"initial commit"`,至少在windows上. (7认同)
  • 修复了不同的问题,这个问题很好但不是_This_实际问题的答案. (6认同)
  • 另一个可能的原因:您实际上没有名为* master *的分支 (4认同)
  • 我遇到了这个问题,问题是我没有设置我的分支 `gitbranch -M <branch_name>` (2认同)

Vi.*_*Vi. 775

  1. 试着git show-ref看看你有什么裁判.有refs/heads/master吗?

  2. 您可以尝试git push origin HEAD:master更多与本地参考无关的解决方案.这明确指出您要将本地引用推HEAD送到远程引用master(请参阅git-push refspec文档).

  • `git show-ref`展示了我的分支; `git push origin HEAD:<branch>`为我工作. (93认同)
  • `master` 现在更改为 `main`。 (14认同)
  • git checkout -b testbranch; git push origin testbranch:master (10认同)
  • 我的主分支不在提交之上!所以我创建了一个分支,它在所有分支的末尾,我将它们推送到服务器: (6认同)
  • 你刚救了我.谢谢你的`git push origin HEAD:master`.但为什么像`git push --force origin master`这样的东西不起作用? (5认同)
  • @ gms8994 - 你说的没错.如果有人创建分支作为第一件事而不是推入主人,那么同样的"不友好"错误就出现了.使用`git push origin <branch>`而不是`master`,以防你在初始`git remote add origin <url>之后的任何FIRST推送之前尝试`git checkout -b <branch>` (4认同)
  • @ Mr.Chowdary,您可以配置分支的"默认推送位置",例如`git push --set-upstream origin refs/heads/the_remote_branch`.你也可以创建一个脚本或别名来完成`git push origin HEAD:/ refs/heads/master`,几乎不需要输入. (2认同)
  • 如果此答案没有结果(只是空白。),那么如果您和我有相同的情况,则可能只是忘记了“添加”任何文件。所以我做了:'git add --all',然后'git commit -m“ initial commit”',然后'git push origin HEAD:master'解决。 (2认同)

Ary*_*ryo 217

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

我的错误信息是这样的:

error: src refspec master does not match any.
error: failed to push some refs to 'git@github ... .git'
Run Code Online (Sandbox Code Playgroud)

并通过执行以下命令解决:

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.
Run Code Online (Sandbox Code Playgroud)

就是这样,希望这会有所帮助.

  • 其他答案没有解决我遇到的问题(例如,我已经承诺并仍然有这个错误),但做一个`git push origin BRANCH --force`工作.谢谢! (9认同)
  • push --force也可以彻底摧毁同事的辛勤工作.添加了警告. (3认同)
  • 这解决了我的问题.我认为git add做到了.虽然在第一个git推送东西时无法识别事物,但这可能就是我遇到问题的原因.git add命令解决了我的问题.在那之后,我能够在没有--force的情况下推进.谢谢Aryo (3认同)

tld*_*ldr 185

  1. 我的更改已经提交
  2. 强制推动仍然给了我同样的错误.

所以我尝试了Vi的解决方案:

git push origin HEAD:<remoteBranch> 
Run Code Online (Sandbox Code Playgroud)

这对我有用.

  • 我终于发现这是因为我错误拼写了分支名称.我使用`git push origin HEAD:B`成功地将分支A推送到原点,并使用名为B的分支,但每当我在分支A上使用`git push origin`时,我仍然会得到相同的错误. (16认同)
  • @YiHuang,谢谢,我之前检查了我的分支名称,然后由于您的评论而再次检查了它-遇到了同样的问题,拼错了。 (2认同)

VIK*_*HLI 118

git push -u origin master
error: src refspec master does not match any.
Run Code Online (Sandbox Code Playgroud)

为此,您需要输入如下的提交消息,然后按下代码

git commit -m "initial commit"

git push origin master
Run Code Online (Sandbox Code Playgroud)

成功地推向了主人


Red*_*Red 107

对我来说,我必须确保公钥在服务器中正确配置(附加在〜/ .ssh/authorized_keys中)和github/bitbucket(添加到我在github或bitbucket上的SSH密钥) - 它们需要匹配.

然后:

git add --all :/

git commit -am 'message'

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

最后为我工作.


And*_*w E 78

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

一旦我添加了一个文件(例如README),git push就能很好地工作.

  • 这可能有效,因为git实际上并不跟踪目录,只跟踪文件.因此,如果目录为空,git实际上不会添加它. (6认同)

aug*_*uag 67

丢失或跳过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'
Run Code Online (Sandbox Code Playgroud)

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

git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

  • git:'*create'不是git命令.见'git --help'. (10认同)
  • 什么是“git *create remote”? (2认同)

小智 60

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

git init
git add .
git commit -m 'message'
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


Sau*_*ngh 54

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

喜欢:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


wil*_*foz 43

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

$ 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'
Run Code Online (Sandbox Code Playgroud)

  • 大声笑.我试图推动原始主人,但那个分支不存在.它被称为原产地稳定. (3认同)
  • 当我错误拼写分支名称时,我就得到了这个. (3认同)
  • 在上面的例子中,问题当然是没有本地分支`master`,所以你不能推送它。你要么想要推送一个现有的分支——或者创建主分支然后推送它,就像这样:`git checkout -b master; git push -u origin master;` (2认同)
  • 我的本地分支拼写为“s**h**eduler”,我在做`git push origin scheduler`。哈!一封信会让你在编程中丧生。哈哈 (2认同)

小智 41

对我来说,以下工作可以移动未跟踪的文件:

git add --all
Run Code Online (Sandbox Code Playgroud)

接下来,我遵循了类似的步骤

 git commit -m "First commit"
Run Code Online (Sandbox Code Playgroud)

然后,

git remote add origin git@github.....
Run Code Online (Sandbox Code Playgroud)

最后但是同样重要的:

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

执行此操作时,Windows 安全将弹出要求您输入用户名和密码。


Ars*_*mad 41

几天前我遇到了同样的问题。

如果您现在(2020 年)创建了一个新存储库,那么默认分支是GitHub 上的main

您现在可以在您的存储库分支中检查 GitHub。

您还可以通过运行以下命令在终端上检查分支:

git branch
Run Code Online (Sandbox Code Playgroud)

所以这就是为什么你需要运行

git push origin main
Run Code Online (Sandbox Code Playgroud)

代替

git push origin master
Run Code Online (Sandbox Code Playgroud)

祝你好运


Md.*_*ana 28

在 GitHub 更新 01.10.20 之后,您应该使用 main 而不是 master。

像这样做...

  1. Create a repository on GitHub
  2. 删除.git本地目录中的现有文件
  3. 转到本地项目目录并键入 git init
  4. git add .
  5. git commit -m"My First Commmit"
  6. 现在检查您的分支名称,它将master在您的本地项目中
  7. git remote add origin <remote repository URL past here from the github repository> 然后输入 git remote -v
  8. git push -f origin master
  9. 现在检查 github 仓库你会看到两个分支 1. main2.master
  10. 在您的本地存储库中创建新分支,分支名称将为 main
  11. git checkout main
  12. git merge master
  13. git pull origin main
  14. git push -f origin main

注意:从 01.10.20 github 决定使用main而不是master分支使用默认分支名称


小智 28

2022 年 2 月更新:

如果您的分支“main”

在此输入图像描述

运行这个命令

git push origin main
Run Code Online (Sandbox Code Playgroud)

如果您的分支“master”

在此输入图像描述

运行这个命令

git push origin master
Run Code Online (Sandbox Code Playgroud)


Nee*_*ngh 26

只需添加初始提交,请按照以下步骤操作: -

  • git add.

  • git commit -m"initial commit"

  • git push origin master

    这对我有用


Ism*_*l H 23

就我而言,我忘记了包含.gitignore文件。这是所需的所有步骤:

  1. 在远程上创建一个空的Git存储库,
  2. 在本地为您的项目创建.gitignore文件。GitHub 在这里为您提供了示例列表
  3. 启动终端,然后在您的项目中执行以下命令:

    git remote add origin YOUR/ORIGIN.git
    
    git add .
    
    git commit -m "initial commit or whatever message for first commit"
    
    git push -u origin master
    
    Run Code Online (Sandbox Code Playgroud)


Asw*_*ath 23

面临的问题

当我在 GitHub 上创建一个新存储库并将其与我拥有的客户端计算机中的 react-app 链接时,我遇到了同样的问题。

我使用了以下步骤:

问题之前使用的命令

git init
git commit -m "first commit"
git branch -M main
git remote add origin "_git repository link here_"
git push -u origin main
Run Code Online (Sandbox Code Playgroud)

我的错

但是正如你所看到的,我的错误是没有使用git add .命令,我犯了这个错误,因为我已经有了 README.md 文件,GitHub 在创建存储库时用基本命令指导我们。

我的解决方案

我的解决方案git add .git init命令之后使用。

以相同的顺序使用以下一组命令来解决这个问题:

git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin "_git repository link here_"
git push -u origin main
Run Code Online (Sandbox Code Playgroud)

  • `git Branch -M main` 对我有用。 (4认同)
  • 运行 `git add .` 然后运行 ​​`git commit -m "first commit"`,然后再次推送 (2认同)

Sum*_*mer 20

您可能忘记了命令“ git add”。在“ git init”命令之后。


Ant*_*ony 19

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

快点

git checkout -b "master"
Run Code Online (Sandbox Code Playgroud)

创建了主分支,在这一点上,快速:

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

推动工作到git repo.


Jin*_*won 19

我遇到了同样的问题而且我用过--allow-empty.

$ git commit -m "initial commit" --allow-empty
...
$ git push
...
Run Code Online (Sandbox Code Playgroud)


小智 19

也许分支是主而不是主

尝试

git push origin HEAD:main 或者 git push origin main


小智 18

这只是意味着你忘了做初始提交,试试

git add .
git commit -m 'initial commit'
git push origin master
Run Code Online (Sandbox Code Playgroud)


小智 18

  1. 第一个git add.
  2. 第二个git commit -m"message"
  3. 第三个git push origin分支请检查拼写错误,因为这也可能会出错.


neo*_*Dev 18

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

git add .
Run Code Online (Sandbox Code Playgroud)

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


Gel*_*Gel 18

我还遵循了以下GitHub的指示,但是我仍然遇到OP提到的相同错误:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

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

证明是,当我git status通常键入内容时,添加的文件会显示绿色字体。但是,一切都是红色的。好像根本没有添加。

因此,我重新执行了步骤。我键入git add .并等待文件添加完成。然后,我按照以下步骤进行操作。


Dee*_*and 17

简短回答:此错误意味着您要远程推送的分支不存在!

就我而言,从 2020 年 10 月开始,此后创建的存储库拥有main分支而不是前一个master分支。所以我不得不这样做:

git push -u origin main 
Run Code Online (Sandbox Code Playgroud)
  • 如果设置了上游,您可以跳过 -u 标志(就像您已经克隆它一样)

答对了!那对我有用!希望有帮助!快乐编码!

  • 即使那样也失败了。我当地的分支机构是master。我在本地创建了一个 main,然后使用 -u 标志进行推送 (2认同)
  • 多谢。有效。这确实是 github 最近的一次重大更新 (2认同)

Aad*_*Ura 17

我遇到了同样的问题并在这里尝试了大部分答案,但问题是由于 Github 重命名最近的变化。

GitHub 正在逐步将存储库的默认分支从 重命名mastermain

https://github.com/github/renaming

你的新命令是:

git push origin main
Run Code Online (Sandbox Code Playgroud)

而不是这个:

git push origin master
Run Code Online (Sandbox Code Playgroud)


Bad*_*laj 16

如果您在第一次推送之前忘记提交,就会发生这种情况。赶紧跑:

git commit -m "first commit"
Run Code Online (Sandbox Code Playgroud)


Din*_*ith 15

要检查当前状态,git status

并遵循以下步骤:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


Ala*_*min 15

我遇到了同样的问题,

解决了我的问题。

只需创建一个分支:

git checkout -b "master"

在那之后

git push -u origin master

砰。

希望它会得到解决。


use*_*563 14

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


AAY*_*ANE 14

在 2021 年,github 将默认分支名称更改为main以前的名称master,因为我试图推送到master不存在的分支,而远程分支是,因此我遭受了痛苦main,请确保您使用正确的分支名称。

下面的命令对我有用

git push origin main
Run Code Online (Sandbox Code Playgroud)


use*_*460 13

我有同样的问题.我是通过以下步骤来做到的

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
Run Code Online (Sandbox Code Playgroud)

希望它会帮助任何人


d.r*_*aev 13

在您从外部源检出仓库并想要在个人/内部系统中导入它的场景中,此命令真正闪耀:

git push --all origin
Run Code Online (Sandbox Code Playgroud)

这会推动所有分支,而不检查引用,坚持提交.


sna*_*nap 13

如果在分离HEAD模式下工作时出现此错误,则可以执行以下操作:

git push origin HEAD:remote-branch-name
Run Code Online (Sandbox Code Playgroud)

另请参阅: 从分离的头部进行git推送

如果您位于与远程分支不同的本地分支上,则可以执行以下操作:

git push origin local-branch-name:remote-branch-name
Run Code Online (Sandbox Code Playgroud)


小智 12

git add.

是你需要的所有代码跟踪你的目录中的所有未跟踪文件


Gav*_*vin 10

如果您尝试推送的分支名称中有拼写错误,也会发生这种情况.

  • 我怀疑我们很多通过网络搜索来到这里的人实际上打错了名字! (3认同)

Gov*_*ind 10

如果您在执行git init并推送初始提交后仍遇到此问题.您可以尝试以下方式,

git checkout -b "new branch name"
git push origin "new branch name"
Run Code Online (Sandbox Code Playgroud)

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


Gya*_*thi 10

git push -u origin master

error: src refspec master does not match any.
error: failed to push some refs to 'http://REPO.git'
Run Code Online (Sandbox Code Playgroud)

这是由于存储库仍然是空的。存储库中没有提交,因此没有要推送到服务器的主分支。

它对我有用

解析度

1) git init
2)git commit -m "first commit"
3)git add app
4)git commit -m "first commit"
5)git push -u origin master
Run Code Online (Sandbox Code Playgroud)


Sid*_*qui 10

2020 年底,GitHub 将master分支改为main分支

我注意到 GitHub 创建了一个新的 master 分支,这不是我使用时的主分支git push -u origin master

现在,当我尝试使用git push -u origin main, 直接推送到主分支时,它给了我这个错误:

我遇到了这个错误:

src refspec main does not match any
error: failed to push some refs to 'https://github.com/<my_project_name>.git
Run Code Online (Sandbox Code Playgroud)

在我第一次提交main.Change URL后,我在以下代码中修复了 GitHub 的使用这些步骤:

git branch -M main
git remote add origin https://github.com/Sidrah-Madiha/<my_project_url>.git
git push -u origin main
Run Code Online (Sandbox Code Playgroud)


Shi*_*nto 10

可能您当前的分支没有上游分支。当您第一次推送时尝试这些命令。

git init
git add .
git status
git commit -m "initial commit"
git remote add origin "github.com/your_repo.git"
git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)


小智 9

You need to config your git if is the first time that you use it with:

git config --global user.email "you@example.com"

git config --global user.name "Your Name"
Run Code Online (Sandbox Code Playgroud)


Ros*_*hel 9

当您尝试将空仓库推送到 git 服务器时会发生此错误。这可以通过初始化README.md文件来缓解:

cat > README.md
Run Code Online (Sandbox Code Playgroud)

然后输入一些东西,然后回车,然后CTRL+D保存。然后是通常的提交步骤:

git add .
git commit -m "Initial commit"
git push origin master
Run Code Online (Sandbox Code Playgroud)


小智 9

Github 将默认分支名称从 更改mastermain. 因此,如果您最近创建了 repo,请尝试 pushmain分支

git push origin main
Run Code Online (Sandbox Code Playgroud)

Github 文章


Lac*_*eee 8

我忘了在提交之后和推送之前做一个"git pull origin master",它会导致同样的问题:"当在git中提交提交时,src refspec master不匹配".那么,你应该做的是:

1. git add .
2. git pull origin master
3. git commit -am "Init commit"
4. git push origin master
Run Code Online (Sandbox Code Playgroud)


Sid*_*qui 8

为避免在 2021 年及以后陷入此错误,请在使用前使用此命令 git init

git config --global init.defaultBranch main 这告诉您的 gitmain始终用作默认分支名称,而不是master


小智 8

我也面临同样的问题。就我而言,我在添加之前错误地进行了提交。按顺序执行这些步骤后,我明白了。

另请确保提供正确的分支机构名称。

git init
git add .
git commit -m <Your commit message>
git remote add origin "your repository link here"
git push -u origin master
Run Code Online (Sandbox Code Playgroud)


小智 8

当我第一次推送到存储库时,我遇到了同样的问题。我忘记提交任何更改并尝试做

git push -u origin main
Run Code Online (Sandbox Code Playgroud)

通过添加提交然后执行来解决此问题:

git push -u origin main
Run Code Online (Sandbox Code Playgroud)


Pal*_*ain 7

试试这个:

git add .

git commit -m "your commit message"

git remote add origin *remote repository URL*

git push origin *your-branch-name*
Run Code Online (Sandbox Code Playgroud)


小智 7

就我而言,我克隆了一个存储库,但我没有切换到本地的分支。

我通过这样做解决了它:

在更改代码之前,您应该这样做:

git checkout branch-name
Run Code Online (Sandbox Code Playgroud)

然后修改你的代码

之后将代码推送到分支:

git push -u origin branch-name
Run Code Online (Sandbox Code Playgroud)

另外,如果您是第一次将本地存储库推送到 GitHub,则需要先创建一个main分支:

git branch -M main
Run Code Online (Sandbox Code Playgroud)

然后,在添加origin(或您给远程的任何名称)后推送分支:

git push -u origin main
Run Code Online (Sandbox Code Playgroud)


rab*_*rks 7

仔细检查您输入的是正确的分支名称。我遇到了相同的错误,查看后git show-ref我发现自己输入的错误,因此没有参考。


小智 7

我以前也遇到过同样的问题。问题出在我当地的分支机构名称上。这与我试图推动的不同。将分支名称更正为目标名称,我就能够推送更改。

请记住本地分支和目标分支应该相同


小智 6

这对我来说重置为远程主控回购

git checkout master
git commit -a -m "your comment"
git push origin master
Run Code Online (Sandbox Code Playgroud)


jcw*_*jcw 6

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

git push origin mater
Run Code Online (Sandbox Code Playgroud)

git push origin master
Run Code Online (Sandbox Code Playgroud)


Ama*_*nus 6

我收到此错误是因为我的本地branchname与我尝试创建的新远程分支不匹配git push origin <<branchname>>.


Raj*_*dka 6

添加空目录时出现此问题.Git不允许推送空目录.这是一个简单的解决方案.

在要推送到远程的目录中创建文件.gitkeep,并从命令行提交"空"目录:

touch your-directory/.gitkeep
git add your-directory/.gitkeep
git commit -m "Add empty directory"
Run Code Online (Sandbox Code Playgroud)


Fer*_*ÇER 6

检查你的提交标题,因为如果你忘记了git commit -m"xxxx"命令,你会遇到同样的问题

git commit -m "initial commit"
Run Code Online (Sandbox Code Playgroud)


Anu*_*dey 6

面对同样的问题,但在我的情况下,在创建新的Repository工作时,按照页面上给出的确切步骤进行操作.只是粘贴在这里

  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
Run Code Online (Sandbox Code Playgroud)

在GitBash XXXX中输入上面的用户名,YYYY输入存储库名称.


Omi*_*ani 6

只有提交解决了这个错误.

git commit -m "first commit"
Run Code Online (Sandbox Code Playgroud)


小智 6

对我有用的只是结帐到我希望我的代码推送的分支,然后简单地推送您的代码。

git checkout -b branchname-on-which-i-will-push-my-code

git add .
git commit -m "my commit message"
git push origin branchname-on-which-i-will-push-my-code
Run Code Online (Sandbox Code Playgroud)


nz_*_*_21 6

2020年:

如果 30 多个答案都不起作用,您可能需要运行git push origin main(在编写此答案时master已重命名为main )。


gor*_*ova 6

作为解决您的问题的选项之一:

git push origin HEAD
Run Code Online (Sandbox Code Playgroud)


Zhe*_*ing 5

我认为这是因为你推了一个无效的分支.通常因为存储库没有公共主分支(可能是开发分支).你可以使用git branch来查看分支.


Pak*_*001 5

我有类似的错误。但 Git 告诉我:

*** Please tell me who you are.
Run Code Online (Sandbox Code Playgroud)

跑步

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Run Code Online (Sandbox Code Playgroud)

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

Omit --global to set the identity only in this repository.
Run Code Online (Sandbox Code Playgroud)

然后错误就消失了。


iha*_*yet 5

当我没有引用 origin 的 master 分支时,这发生在我身上。因此,您可以尝试以下操作:

git pull origin master
Run Code Online (Sandbox Code Playgroud)

这将创建对本地存储库中源的 master 分支的引用。然后就可以将本地仓库推送到源站了。

git push -u origin master
Run Code Online (Sandbox Code Playgroud)


Ami*_*r.S 5

也许 GitHub 不知道你是谁。

首先你必须运行:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Run Code Online (Sandbox Code Playgroud)


Alm*_*bir 5

确保您推到正确的分支或是否有任何错字。使用此命令检查您当前的工作分支名称
git show-branch


Jbo*_*aga 5

尝试 git show-ref

你可能会看到 refs/heads/live

这意味着你应该做

git push -u origin live
Run Code Online (Sandbox Code Playgroud)


小智 5

我忘记提交然后遇到了这个。只要提交


Ril*_*nda 5

我遇到了同样的问题......解决方案是将代码推送到 repo,就好像它是一个现有项目而不是一个正在初始化的全新项目。

git remote add origin https://github.com/Name/reponame.git
git branch -M main
git push -u origin main
Run Code Online (Sandbox Code Playgroud)


Rus*_*aev 5

首先确保您使用的是 master 分支。在我的情况下,分支是主而不是主。所以我所做的是

git push origin main
Run Code Online (Sandbox Code Playgroud)

你可以在这张照片中看到结果

Git 问题


gem*_*eld 5

本月的一个原因可能是:github 已将默认的“master”分支重命名为“main”分支。所以,git push origin main改用。


Ayu*_*ain 5

我今天也遇到了同样的问题。我创建了一个新的 repo 并将其克隆到我的机器上。我提交了我的代码并试图推动它。我得到了同样的错误。我观察到这是因为我正在使用:

git push origin master

我在这里做错的是我假设我的默认分支是masterGitHub 上的新默认分支是main. 我推使用:

git push origin main

它工作正常。

我的解决方案仅适用于较新的存储库或最近面临此问题的人,因为 GitHub 正在替换main过度master术语。因此,如果您收到此错误,请务必检查您要推送到的分支以及 GitHub 上的分支名称


jia*_*ian 5

对于Repositories WIKI,我也遇到了这个错误。

git show-branch
Run Code Online (Sandbox Code Playgroud)

如果显示 master 那么

git push -u origin master
Run Code Online (Sandbox Code Playgroud)