3529

我克隆我的存储库:

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

116 回答 116

5042

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

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 master

成功!

于 2011-09-27T16:07:11.757 回答
1494
  1. 试着git show-ref看看你有什么参考。有refs/heads/master吗?

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

  1. 您可以尝试git push origin HEAD:master作为更独立于本地参考的解决方案。这明确表明您希望将本地 ref 推HEAD送到远程 ref master(请参阅git-push refspec文档)。
于 2010-11-15T11:24:25.897 回答
256

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

我的错误信息是这样的:

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.
于 2012-01-04T17:03:33.203 回答
135
git push -u origin master
error: src refspec master does not match any.

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

git commit -m "initial commit"

git push origin master

成功推送给master。

于 2017-08-09T09:22:18.113 回答
131

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

git add --all :/
git commit -am 'message'
git push -u origin master
于 2014-09-02T01:56:37.500 回答
106

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

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

于 2011-09-25T01:44:13.180 回答
75

缺少或跳过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
于 2012-11-03T20:30:07.737 回答
68

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

git init
git add .
git commit -m 'message'
git push -u origin master
于 2015-01-12T17:30:24.933 回答
57

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

$ 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'
于 2012-05-23T17:43:32.957 回答
57

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

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

补充

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

于 2018-10-25T01:33:56.333 回答
57

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

喜欢:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
于 2018-04-28T07:12:24.730 回答
47

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

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

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

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

git branch

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

git push origin main

代替

git push origin master

祝你好运

于 2020-12-16T18:47:15.477 回答
44

面临的问题

当我在 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

我的错

但是正如你所看到的,我的错误是没有使用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
于 2021-06-14T07:28:04.197 回答
41

两种可能性:

1-要么您忘记包含该.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
    

2- 或者您正在尝试创建一个新的 Github 项目。

Github 将 master 替换为 main 作为默认分支名称。要解决此问题:

  1. 在您的本地项目上:
    1. 删除.git文件夹(如果存在)
    2. 通过在您的项目中启动以下内容来重新创建一个干净的存储库:

在终端:

git init

git add .

git commit -m "YOUR FIRST MESSAGE HERE"

git branch -M main

git remote add origin _GIT_LINK_TO_PROJECT_HERE_

git push -u origin main
于 2019-05-28T10:41:02.600 回答
41

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

git add --all

接下来,我按照类似的步骤

 git commit -m "First commit"

然后,

git remote add origin git@github.....

最后但是同样重要的:

git push -u origin master

执行此操作时,Windows 安全将弹出询问您的用户名和密码。

于 2020-01-13T06:01:34.763 回答
31

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

于 2019-04-25T14:37:35.677 回答
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分支使用默认分支名称

于 2020-10-09T16:17:39.683 回答
27

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

一个快速

git checkout -b "master"

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

git push -u origin master

将工作推送到 Git 存储库。

于 2014-12-12T19:38:50.907 回答
27

只需添加一个初始提交。按着这些次序:

  • git add .

  • git commit -m "initial commit"

  • git push origin master

这对我有用。

于 2017-12-28T07:02:24.600 回答
24

也许分支是主而不是主

尝试

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

于 2021-05-20T18:21:24.967 回答
21

我也遇到过同样的问题

解决了我的问题。

只做一个分支:

git checkout -b "master"

在那之后

git push -u origin master

砰。

希望它会得到解决。

于 2021-06-02T11:01:48.417 回答
20

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

git add .
git commit -m 'initial commit'
git push origin master
于 2014-05-04T14:18:13.233 回答
20
  1. 第一的,git add .
  2. 第二,git commit -m "message"
  3. 第三,git push origin branch

请检查拼写错误,因为这也可能导致该错误。

于 2015-06-11T14:15:38.070 回答
20

要检查当前状态,git status

并遵循以下步骤:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
于 2019-09-12T07:48:32.430 回答
20

我也遵循了 GitHub 的指示,如下所示,但我仍然遇到了与 OP 提到的相同的错误:

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

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

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

所以我重做了步骤。我输入git add .并等待文件完成添加。然后我完成了接下来的步骤。

于 2019-03-22T16:16:39.150 回答
20

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

git commit -m "first commit"
于 2019-09-08T09:56:08.780 回答
19

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

于 2011-12-03T13:29:12.727 回答
19

如果在分离 HEAD 模式下工作时遇到此错误,您可以执行以下操作:

git push origin HEAD:remote-branch-name

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

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

git push origin local-branch-name:remote-branch-name
于 2018-03-02T14:36:18.500 回答
19

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

git add .

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

于 2017-02-11T21:49:55.113 回答
18

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

就我而言,从 2020 年 10 月开始,从那时起创建的存储库具有main分支而不是之前的master分支。所以我必须这样做:

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

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

于 2020-10-02T16:27:13.860 回答
17

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

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

https://github.com/github/重命名

您的新命令将是:

git push origin main

而不是这个:

git push origin master
于 2020-10-16T11:07:51.263 回答
16

在您从外部存储库 (GitHub) 签出代码并希望将其导入个人/内部系统的场景中,这个命令真的很出色:

git push --all origin

这会将所有本地分支推送到远程,而不检查 refs 并且不坚持提交。

于 2017-05-24T16:32:35.783 回答
16

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

下面的命令对我有用

git push origin main
于 2021-04-17T15:05:42.160 回答
15

我有同样的问题。我通过以下步骤做到了:

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
于 2015-12-05T11:58:15.733 回答
13

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

于 2013-10-08T15:48:33.853 回答
13

2022 年 2 月更新:

如果您的分支“主要”

在此处输入图像描述

运行此命令

git push origin main

如果您的分支“主”

在此处输入图像描述

运行此命令

git push origin master
于 2021-02-28T12:20:17.617 回答
12
git add .

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

于 2016-09-30T05:36:21.720 回答
12

如果您在执行git init并推送您的初始提交之后仍面临此问题。然后,您可以尝试以下方法,

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

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

于 2016-12-10T10:21:39.430 回答
11

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

我注意到 GitHub 创建了一个新的主分支,而这不是我使用时的主分支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

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

git branch -M main
git remote add origin https://github.com/Sidrah-Madiha/<my_project_url>.git
git push -u origin main
于 2021-03-10T19:23:43.253 回答
10

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

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

git config --global user.name "Your Name"
于 2012-10-30T05:48:48.860 回答
10

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

于 2019-01-22T04:33:13.587 回答
10

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

git push origin main

Github 文章

于 2020-10-30T06:20:51.647 回答
10

git push -u 起源大师

error: src refspec master does not match any.
error: failed to push some refs to 'http://REPO.git'

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

它对我有用

解析度

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
于 2020-08-11T10:22:42.590 回答
9

我忘记在提交之后和推送之前做一个“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
于 2015-09-01T09:44:59.390 回答
9

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

cat > README.md

然后键入一些内容,然后按回车键,然后按CTRL+D保存。然后是通常的提交步骤:

git add .
git commit -m "Initial commit"
git push origin master
于 2020-07-02T13:07:44.707 回答
9

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

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

于 2021-05-19T14:04:05.270 回答
8

尝试这个:

git add .

git commit -m "your commit message"

git remote add origin *remote repository URL*

git push origin *your-branch-name*
于 2018-02-12T13:33:21.973 回答
8

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

git commit -m "first commit"
于 2018-08-06T20:01:44.663 回答
7

这对我有用,重置为远程掌握存储库:

git checkout master
git commit -a -m "your comment"
git push origin master
于 2014-01-17T09:24:07.103 回答
7

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

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
于 2019-11-24T22:15:41.683 回答
7

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

我通过这样做解决了它:

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

git checkout branch-name

然后更改您的代码

之后将代码推送到分支:

git push -u origin branch-name

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

git branch -M main

然后,在添加origin(或您为遥控器提供的任何名称)之后推送分支:

git push -u origin main
于 2018-02-14T11:57:50.823 回答
7

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

于 2015-08-21T01:14:58.743 回答
7

我确实遇到了同样的问题,但在我的情况下,当你创建一个新的存储库时,从一开始就按照页面上给出的确切步骤进行操作。

只需将其粘贴在这里:

  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

在 Git Bash 中输入上述内容。XXXX 是用户名,YYYY 是存储库名称。

于 2018-04-14T09:21:22.277 回答
7

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

于 2020-06-25T17:29:34.680 回答
7

我在添加一个空目录时遇到了这个问题。Git 不允许推送一个空目录。这是一个简单的解决方案。

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

touch your-directory/.gitkeep
git add your-directory/.gitkeep
git commit -m "Add empty directory"
于 2017-08-24T17:39:01.803 回答
6

首先确保您使用的是 master 分支。在我的例子中,分支是主分支而不是主分支。所以我所做的是

git push origin main

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

Git问题

于 2020-10-14T09:13:10.667 回答
6

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

git push origin mater

git push origin master
于 2015-07-17T14:29:14.473 回答
6

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

git remote add origin https://github.com/Name/reponame.git
git branch -M main
git push -u origin main
于 2020-10-09T14:17:11.723 回答
6

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

git commit -m "initial commit"
于 2018-04-02T13:05:32.883 回答
6

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

git push origin master

我在这里做错的是我假设我的默认分支是,master而 GitHub 上的新默认分支是main. 我推动使用:

git push origin main

它工作得很好。

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

于 2020-10-25T20:57:27.520 回答
5

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

*** Please tell me who you are.

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

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

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

然后错误消失。

于 2013-10-10T10:38:45.493 回答
5

我认为这是因为您推送了无效的分支。

一般是因为仓库没有通用的 master 分支(可能是 development 分支)。您可以使用

git branch

看树枝。

于 2012-11-26T02:11:05.167 回答
5

更新到以前的答案。

另外,不要忘记 github 已将“Master”更改为“Main”,因此请确保您通过以下方式推送:

git push origin main
于 2020-10-23T18:44:41.407 回答
5

2020年:

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

于 2020-11-25T16:28:40.047 回答
5

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

于 2020-10-20T08:40:30.547 回答
5

自 2020 年 10 月 1 日起,GitHub 将主分支的名称更改为main。这就是导致问题的原因。当有人键入git push origin master时,他们会看到此错误
error: src refspec master does not match any error: failed to push some refs to 'https://github.com/username/reponame.git'

这可以通过使用来修复git push origin main。希望这可以帮助。我花了很长时间才弄清楚为什么我不能将提交推送到主分支。

于 2020-10-05T19:55:24.190 回答
5

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

git push origin HEAD
于 2021-03-23T09:26:28.000 回答
5

我忘了提交然后跑到这个。只是承诺

于 2020-09-20T08:06:07.820 回答
5

也许 GitHub 不知道你是谁。

首先你必须运行:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
于 2018-11-24T05:13:46.743 回答
5

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

git pull origin master

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

git push -u origin master
于 2016-01-03T22:20:00.430 回答
5

尝试git show-ref

你可能会看到refs/heads/live

这意味着你应该做

git push -u origin live
于 2020-08-20T23:59:54.643 回答
4

我有同样的问题并使用以下步骤修复它:

于 2015-04-16T15:18:25.620 回答
4

我已经创建了一个提交。确保你推到正确的分支。

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

于 2014-03-13T18:48:41.327 回答
4

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

$ git clone -b new-branch
$ git push origin new-branch
于 2012-11-07T23:21:43.787 回答
4

我曾经遇到过这个问题,因为我在远程仓库上有一个分支,但在本地没有。我做到了:
git fetch && git checkout 'add remote branch name here'它解决了我的问题。
有时当您不暂存更改时会出现问题,因此您需要运行以下 git 命令:
git add your_file_name.extensiongit add .添加所有更改。
此时,您需要使用以下命令提交更改:
git commit -m 'your commit message here'.
一旦你完成了所有这些,你只需要将你的更改推送到远程仓库:
git push origin your_branch_name

于 2020-04-11T21:56:29.177 回答
4

我之前遇到过同样的问题,问题出在我的本地分支名称上,它与我尝试推送的不同,将分支名称更正为目标名称,我能够推送更改。

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

于 2021-09-24T10:00:39.337 回答
4

我遇到的问题是尝试重置我的存储库时。我想删除所有历史记录并且什么都不提交。但是,您必须至少添加一些东西才能提交,所以我只是创建了一个空文本文件,git add .然后git commit -m "Reset repository".

于 2017-05-17T18:26:43.697 回答
4

我在错误的目录中创建了文件,试图做git push -u origin master,但我得到了错误。

一旦我cd到当前目录,做git push -u origin master,一切都很好。

于 2016-01-10T17:45:20.523 回答
4

由于多种原因,您可能会遇到此问题。

1.暂存文件的待提交

如果您通过运行git add命令(即git add .)添加了更改,并且从未提交过这些文件,然后尝试将分支推送到远程存储库中。在这种情况下,您将面临错误src refspec master does not match any.

2. 本地分支名称无效

如果您在分支名称中输入了错字(即 mster 而不是 master),那么它会导致您出现此错误。表示您尝试推送的分支不在本地存储库中。

于 2020-07-01T21:12:01.303 回答
4

首先,您需要git init创建自己的 .git 文件,否则如果您克隆某人的 git 文件夹,它将无法识别您的 git 凭据。git add.启动 git 后,然后继续git commit...

于 2020-06-14T15:32:29.983 回答
3

我正在为一个 GitHub 存储库做贡献,所以我分叉了这个项目,克隆了它,创建了我自己的分支,做了一些提交,然后尝试推送。

此时我发现我克隆的不是我的 fork,而是原始项目存储库(我无权推送)。

所以我改变了.git/config指向origin我的存储库。

此时,当我尝试推送时,我收到了错误error: src refspec my_awesome_branch does not match any.

我所要做的就是触摸任何文件并提交它(类似于你在这个答案中看到的):

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

接着:

git checkout master
git pull origin master
git push origin master # This will tell my remote repository about my new branch
git checkout my_awesome_branch
git push origin my_awesome_branch # Now it will work
于 2013-08-29T14:01:29.533 回答
3

我在 Android Studio 中处理 VCS 时遇到了这个确切的问题。事实证明,我所要做的就是:

  1. 从“app”文件夹中选择所有文件;
  2. 转到VCS(顶部选项);
  3. “添加”文件;
  4. 通过终端再次提交,或通过单击下拉菜单,以及;
  5. 推!

尤里卡!:D

于 2017-07-04T18:22:13.827 回答
3

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

git show-branch

如果显示主人然后

git push -u origin master
于 2021-12-18T05:14:05.103 回答
3

我遇到了类似的错误。错误是由于这个命令

git push -u origin master

后续命令对我有用

从这些命令开始

git init
git add .
git commit -m "second commit"

所以在推送它之前运行这些命令来查看我们的本地存储库连接到 Github 上的哪个远程存储库以及你在哪个分支上。

git remote
git branch

远程 --> 原点

分支->主

git push -u remote branch

或更具体地说:

git push -u origin main
于 2020-10-05T04:03:40.243 回答
2

关于Aryo 的回答:就我而言,我必须使用本地 Git 存储库的完整 URL 来推送文件。首先,我删除了当前目录中的所有文件并创建了 README 添加了它。

又加了一些。然后我提交了这些文件,最后推送了它们,为存储库提供了一个正确的 URL。这里 yourrepository 是服务器上存储库的名称。

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
于 2012-07-27T02:06:19.437 回答
2

来自 Git 的错误:

错误:src refspec master 不匹配任何内容。

使用此步骤修复:

git commit -m "first commit"

在我跑之前:

git add <files>

在我跑之后:

git push -u origin master
于 2015-04-23T15:27:05.997 回答
2

检查当前分支是否仅是主分支。我面临同样的问题,我的分支是主要的。因此,运行以下命令为我完成了工作:

git push origin 主要。

于 2021-07-29T15:12:33.777 回答
2

如果您有Visual Studio 代码

  1. 如果您不需要更改来跟踪,请删除 .git 文件夹(如果是,git stash
  2. git init
  3. git commit -m "first commit"
  4. git remote add origin https://github.com/YOURusername/YOURrepo.git
  5. 通过 Visual Studio Code UI IDE,从左侧面板转到源代码控制或( Ctrl++ Shift)G
  6. 暂存所有更改或部分
  7. 提交您的更改
  8. 通过左下角按钮(如数字或云图标)同步您的更改。然后 Visual Studio Code 要求您输入用户名和密码。

如果您拥有存储库的权限,您可以看到:

> 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
于 2018-12-14T02:17:26.350 回答
2

2021 年 3 月,使用 Git 2.31

一个git clone空的 GitHub 存储库将创建一个本地存储库,其中 ' main' 作为默认分支,即使init.defaultBranch设置为master!

GitHub 支持Git transfert 协议 v2将向客户端传达远程默认分支的名称(现在为GitHub)到由.maingit clone

这意味着添加和提交新提交将在“ main”分支上完成,即使 Git 客户端仍将其视为master默认分支。

src refspec master does not match any.在您的下一次推送中不再有“ ”。

于 2021-03-14T08:00:19.147 回答
2

我得到了这个错误,

错误:src refspec master 不匹配任何内容。

当我尝试将提交推送到 GitHub 时,有更改(在 GitHub 上)。

git push -u origin branch-name - helped me to get my local files up to date
于 2018-02-27T12:15:54.617 回答
2

我有同样的问题,还发现我没有提交任何文件,所以当我再次尝试提交时,我收到了这个错误消息:

*** Please tell me who you are.

Run

 git config --global user.email "you@example.com"
 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)')

然后我所做的就是在全球范围内添加我的电子邮件和姓名,然后再次提交:

git commit -m 'Initial commit'

然后推

git push -u origin master
于 2018-07-12T11:47:18.897 回答
2

对于 Windows 上Cmder中的 Bash 用户,请确保在新的主目录中创建一个新的 .ssh 文件夹。

  1. 转到您的主目录cd ~

  2. 生成 ssh 密钥ssh-keygen

  3. 将所有输入留空(按住回车键)

  4. 将 id_rsa.pub 文件复制到你的 Github > Settings > SSH Keys

于 2017-12-05T16:17:30.360 回答
2

我也面临同样的问题。但是我注意到发生此错误时我的目录是空的。当我创建一个示例文件并再次推送时,它起作用了。所以在推送之前请确保您的文件夹不为空!!

于 2019-10-12T04:31:40.787 回答
2

这对我有用:

只需检查主分支:

git checkout -b master
git add .
git push origin master

--force用于强制更改。

git push origin master --force
于 2018-03-29T04:06:00.450 回答
1

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

于 2014-09-29T12:59:07.163 回答
1

当我收到 src-refspec 错误时,上述解决方案都不适合我。

我的工作流程:

  • 推送到远程分支(相同的本地分支名称)
  • 删除了那个远程分支
  • 改变了一些东西并承诺
  • 再次推送到相同的远程分支名称(相同的本地分支名称)
  • 得到 src-refspec 错误。

我通过简单地创建一个新分支并再次推送来修复错误。 (奇怪的是,我不能简单地重命名分支 - 它给了我fatal: Branch rename failed。)

于 2012-09-19T18:40:31.947 回答
1

确保您在分支名称中没有不可见的拼写错误:

$ git branch
master
* <U+0096>your_branch_name

有一个隐形<U+0096>字符可能是通过粘贴分支名称到达那里的。将当前分支重命名为正确的值,然后push重试:

$ git branch -m your_branch_name
于 2021-03-10T10:50:22.387 回答
1

我认为问题源于添加和提交您的 node_modules 文件夹。

当您使用 时git add .,您是否会像添加多个文件一样获得无限滚动?

如果是这样,您不仅要添加脚本,还要添加规模较大的 node_modules。

最好的解决方案是创建一个.gitignore文件,在其中粘贴# dependencies /node_modules.

现在,当您添加文件时,git 将忽略该node_modules文件夹。

于 2022-02-19T11:57:07.880 回答
1

如果您的分支名称中有拼写错误,也可能会发生这种情况,因此您试图推送一些实际上并不存在的东西!哈!

就我而言,我实际上创建了一个名称不正确的分支(显然是偶然的),它被调用fetaure/<something>并试图推送feature/<something>

大脑会将单词作为一个单元来阅读,因此有时两个单词看起来相同,但实际上并非如此!哈!

请确保您的分支名称中没有错字!(或者更好地说,检查您要推送的分支是否与您在本地定义的分支实际匹配,特别是如果您手动执行新创建的分支的第一次推送git push origin feature/<newBranch>

于 2020-06-01T13:33:45.350 回答
1

就我而言,发生在 Windows 上的问题似乎与我们feature\在分支名称中添加前缀等有关。我们试图创建并推送一个带有这样前缀(比如,feature\branch)的分支,但已经有一个不同的分支,它的名称前缀为Feature\(比如,Feature\otherbranch)。这意味着在 Windows 上,新分支被放置在同一个refs\heads\Feature文件夹中。Git 可能区分大小写,但 Windows 文件系统不区分大小写。一旦我们检查了名为Feature\branch.

于 2016-07-25T10:01:41.653 回答
1
  1. git 分支

  2. 使用 -mv 标志重命名分支:

    git branch -mv origin master

在这个 git 分支之后应该显示 master

于 2021-03-06T06:42:12.437 回答
1

权限问题?解决方法:分叉

我收到这个错误是因为我没有对存储库的推送权限,所以我不得不分叉它,然后我确实在分​​叉的存储库上再次执行了拉取、提交和推送命令。

于 2019-01-25T14:25:49.793 回答
1

如果您在 Windows 上使用 Git Bash,请尝试重新启动它。它对我有用!

于 2018-12-30T21:38:32.253 回答
1

我遇到了这个错误,这是分支名称的问题,因为我使用了字符"&"。我只是用“^&”跳过它,它起作用了。

于 2018-08-18T14:10:33.053 回答
1

问题是您没有将 git 配置为始终在远程从本地创建新分支。

如果您总是只想在远程创建新分支以镜像和跟踪您的本地分支,则永久修复是:

git config --global push.default current

现在你可以 git push 没有错误了!

于 2021-02-19T11:28:16.940 回答
1

如果它不承认你有一个 master 分支,只需创建它并再次提交。

创建主分支:

git checkout -b master
于 2018-09-24T18:33:10.263 回答
1

混帐初始化混帐添加。git commit -m "message" 提示我输入电子邮件和用户名 git config --global user.email "you@example.com" git config --global user.name "Your Name" 输入上述详细信息后提交文件并推送成功地。

git 推送

于 2021-06-11T01:53:28.697 回答
1

我认为这可能对某人有所帮助。我今天做了我的第一个重大承诺。我尝试了很多指南,因为它不断吐出错误。

首先:cd 进入包含您的文件的目录初始化 git:git init 提交文件:git commit 如果有任何模糊的 bash 命令强制提交:单击“I”插入您的提交消息要继续:单击“ESC”

要发送到您的 github 存储库,请首先确保您的用户名和电子邮件已添加:

git config --global user.name 'Your name'
git config --global user.email 'name@mail.com'

继续:

git remote add origin https://github repo url

推送到回购:

git push -u origin 'https://github.repo url'

它将提交加载到您的存储库。完毕!!!

于 2020-11-03T16:41:10.950 回答
1

最初每个文件都处于未跟踪状态。我们需要将工作目录中未跟踪的文件添加到暂存区,只有这样 git 才会开始跟踪文件。从工作目录中,我们将文件移动到准备好下一次提交的暂存区,以便 Git 准备拍摄它们的快照以创建新版本。您所做的是,您跳过了暂存区,只将一个文件添加到暂存区。

首先转到您要推送的本地文件夹,然后按照以下步骤操作。

git init

git add .

git commit -m "First commit"

于 2021-10-30T06:51:44.080 回答
1

还要检查您是否更改了分支名称

对我来说,我已经将分支名称从add-status-conditionsto更改为最后add-status-condition没有注意到丢失s。正确重命名了分支并做到了git push origin add-status-conditions -f

这对我有用。

于 2021-04-09T10:53:58.853 回答
1
git init

首先是第一个命令.. 首先我们需要初始化 // 这应该可以正常工作!...

于 2021-05-17T08:42:23.877 回答
1

对于 Gitlab 用户,更新版本的 gitlab 现在将默认具有“主”分支。

因此,您可以尝试以下方法:

git push origin main

参考:Gitlab new git 默认分支名是main

于 2022-02-02T18:50:31.613 回答
0

我在尝试将内容推送到 GitHub 上的新存储库时遇到此错误。我已经在本地创建了 Git 存储库,而且我使用 Web GUI(包括 LICENSE 文件)在 GitHub 上创建了存储库。

在我将 LICENSE 文件从原本为空的 GitHub 存储库中提取到本地存储库后,问题就消失了。在那之后,我可以毫无问题地推动。

于 2014-08-27T21:11:07.250 回答
0

在我的情况下fastlane match nuke development(从 gi​​t 凭据存储和开发人员门户中删除开发证书和配置文件)尝试推送 master,但我们没有 master。由于我们有两个不同的团队,我们也有 2 个不同的分支。解决问题的方法是调用 tell match 关于正确的分支:

fastlane match --git_branch <your_branch> nuke development
于 2019-10-24T15:31:36.850 回答
0

在我的情况下,当我将更改推送到我仅在本地拥有的分支时发生了错误。远程分支不存在同名。我使用以下命令解决了错误:

git push --set-upstream origin "your-branch-name"

于 2022-02-03T09:03:57.763 回答
-1

我有一个非常长的本地分支名称。

git branch -m new_shorter_branch_name

解决了这个问题。

于 2015-03-09T15:43:42.747 回答