消息'src refspec master不匹配任何'在Git中推送提交时

我克隆了我的存储库:

git clone ssh://xxxxx/xx.git

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

git add xxx.phpgit 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'
3839971 次浏览
  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作为更独立于本地引用的解决方案。这明确指出您要将本地refHEAD推送到远程refmaster(请参阅git-ush引用规范留档)。

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

一旦我添加了一个文件(例如README),Git推送就工作得很好。

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

mkdir repo && cd repogit remote add origin /path/to/origin.gitgit add .

哎呀!从不承诺!

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

我所要做的就是:

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

成功!

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

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

我的错误消息是这样的:

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

它是通过执行以下命令解决的:

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

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

$ git branch* version-x  # you are in this branchversion-y
$ git push -u origin mastererror: src refspec master does not match any.error: failed to push some refs to 'origin_address'

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

添加了更多。然后我提交了这些文件并最终推送它们,为存储库提供了正确的URL。这里的您的存储库是服务器上存储库的名称。

rm -rf *
touch READMEgit add READMEtouch file1 file2git add file1 file2
git commit -m "reinitialized files"git push git@localhost:yourrepository.git master --force

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

我的工作流程:

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

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

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

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

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

git push -u origin masterUsername for 'https://github.com': yourusernamePassword 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 initgit add .git commit -m 'message'git *create remotegit push -u origin master

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

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

我想是因为你推了一个无效的分支。

通常,因为存储库没有公共主分支(可能是开发分支)。您可以使用

git branch

看到树枝。

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

在这一点上,我发现我克隆的不是我的分叉,而是原始项目存储库(我没有权限推送)。

所以我将.git/config更改为指向我的存储库的origin

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

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

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

然后:

git checkout mastergit pull origin mastergit push origin master # This will tell my remote repository about my new branchgit checkout my_awesome_branchgit push origin my_awesome_branch # Now it will work

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

我也有类似的错误。但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.

然后错误就消失了。

这对我来说很有效,重置为远程主存储库:

git checkout mastergit commit -a -m "your comment"git push origin master

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

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

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

git add .git commit -m 'initial commit'git push origin master

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

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

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

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

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

我的问题是“master”分支还没有在本地创建。

一个快速

git checkout -b "master"

创建了master分支,在这一点上,一个快速

git push -u origin master

将工作推送到Git存储库。

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

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

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

git branch -m new_shorter_branch_name

解决了问题。

我遇到了同样的问题,并使用以下步骤修复了它:

来自Git的错误:

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

修正此步骤:

git commit -m "first commit"

我跑之前:

git add <files>

我跑了之后:

git push -u origin master
  1. 首先,git add .
  2. 第二,git commit -m "message"
  3. 第三,git push origin branch

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

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

git push origin mater

git push origin master

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

我忘了在提交和推送之前做一个“git拉取原始主”,它导致了同样的问题:“在git中推送提交时,src refspec master不匹配任何”。

所以,你应该这样做:

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

我也遇到了同样的问题,我是通过以下步骤完成的:

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 pull origin master

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

git push -u origin master

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

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

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

git add .

就是您所需要的。该代码跟踪您目录中所有未跟踪的文件。

如果你在做了git init并推送了最初的提交后仍然面临这个问题。然后你可以尝试以下操作,

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

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

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

git add .

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

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

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

git push --all origin

这会将所有本地分支推送到远程,而无需检查ref,也无需坚持提交。

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

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

找到了!: D

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

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

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

成功推到主人。

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

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

touch your-directory/.gitkeepgit add your-directory/.gitkeepgit commit -m "Add empty directory"

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

  1. 转到您的主目录cd ~

  2. 生成ssh密钥ssh-keygen

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

  4. 将id_rsa.pub文件复制到您的Github>设置>SSH密钥

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

  • git add .

  • git commit -m "initial commit"

  • git push origin master

这对我有用。

试试这个:

git add .
git commit -m "your commit message"
git remote add origin *remote repository URL*
git push origin *your-branch-name*

在我的例子中,我克隆了一个存储库,但我没有在本地切换到分支。

我通过这样做解决了它:

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

git checkout branch-name

然后更改您的代码

然后将代码推送到分支:

git push -u origin branch-name

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

git branch -M main

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

git push -u origin main

我得到了这个错误,

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

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

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

如果您在分离HEAD模式下工作时遇到此错误,您可以这样做:

git push origin HEAD:remote-branch-name

另见:从分离的头部进行Git推送

如果您在与远程分支不同的本地分支上,您可以这样做:

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

这对我有用:

只需检查主分支:

git checkout -b mastergit add .git push origin master

或者使用--force强制更改。

git push origin master --force

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

git commit -m "initial commit"

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

把它贴在这里:

  echo "# YYYY" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin https://github.com/XXXX/YYYY.gitgit push -u origin master

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

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

喜欢:

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

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

*** 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

仅提交解决了此错误:

git commit -m "first commit"

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

如果它没有识别出您有一个master分支,只需创建它并再次提交。

创建一个master分支:

git checkout -b master

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

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

补编

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

也许GitHub不知道你是谁。

首先,你必须运行:

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

如果你有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)GOTO源代码控制
  6. 阶段您的所有更改或部分
  7. 提交您的更改
  8. 通过左下按钮(如数字或云图标)同步您的更改。然后Visual Studio Code希望您输入您的用户名和密码。

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

> git push -u origin masterFatal: 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

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

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

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

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

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

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

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

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

所以我重做了这些步骤。我输入git add .并等待文件添加完成。然后我遵循下一步。

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

两种可能性:

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

如果你在第一次推送之前忘记提交,就会发生这种情况。只需运行:

git commit -m "first commit"

要检查当前状态,git status

并遵循这些步骤:

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

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

在我的案例fastlane match nuke development(它从git凭据存储和开发人员门户中删除开发证书和配置文件)试图推送master,但我们没有master。由于我们有两个不同的团队,我们也有2个不同的分支。解决问题的方法是调用告诉匹配正确的分支:

fastlane match --git_branch <your_branch> nuke development

对我有效的方法是简单地签出到我希望我的代码推送的分支,然后简单地推送你的代码。

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

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

git add --all

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

 git commit -m "First commit"

然后,

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

最后但并非最不重要:

git push -u origin master

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

我曾经遇到过这个问题,因为我的远程存储库上有一个分支,但不是本地的。我做到了:
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.

如果您的分支名称中有错字,则也可能发生这种情况,因此您试图推送不存在的东西!哈!

在我的例子中,我实际上创建了一个名称不正确的分支(显然是偶然的),它被称为fetaure/<something>并试图推送feature/<something>

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

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

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

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

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

1.交错文件的待提交

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

2.无效的本地分支名称

如果你在分支的名称(即mster而不是master)中做了一个错字,那么它会导致你犯这个错误。

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

cat > README.md

然后键入一些内容,然后输入一个enter和一个CTRL+D来保存。然后是通常的提交步骤:

git add .git commit -m "Initial commit"git push origin master

git push-u来源大师

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

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

这招对我管用

决议

1) git init2)git commit -m "first commit"3)git add app4)git commit -m "first commit"5)git push -u origin master

尝试git show-ref

可以看到refs/heads/live

这意味着你应该做

git push -u origin live

我忘了提交,然后跑向这个。只要承诺

简短的回答:此错误表示您要推送到远程的分支不存在!

在我的例子中,从2020年10月开始,从那时起创建的repos有main分支而不是以前的master分支。所以我只需要这样做:

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

宾果!这对我有用!希望有帮助!编码快乐!

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

git push -u origin master

随后的命令为我工作

从这些命令开始

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

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

git remotegit branch

远程-->原点

分支-->主分支

git push -u remote branch

或更具体地说:

git push -u origin main

自2020年10月1日起,GitHub将大师分支的名称更改为主要。这就是导致问题的原因。当有人输入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来修复。希望这有帮助。我花了相当长的时间来弄清楚为什么我不能将我的提交推送到主分支。

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

git remote add origin https://github.com/Name/reponame.gitgit branch -M maingit push -u origin main

在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.main 2.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分支使用默认分支名称

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

git push origin main

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

Git问题

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

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

https://github.com/github/renaming

您的新命令将是:

git push origin main

而不是这个:

git push origin master

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

更新以前的答案。

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

git push origin main

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

git push origin master

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

git push origin main

而且效果很好。

我的解决方案仅适用于较新的repos或最近面临此问题的人,因为GitHub正在替换main而不是master术语。因此,如果您收到此错误,请确保检查您正在推送到的分支以及GitHub上的分支名称

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

git push origin main

Github文章

我想这可能会对某人有所帮助。我今天做了我的第一个重大承诺。我尝试了很多指南,但它一直吐痰错误。

  • 首先:cd进入文件目录
  • 初始化git:git init
  • 提交文件:git commit
  • 如果有任何朦胧的bash命令,要强制执行提交:单击插入您的提交消息
  • 继续:点击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

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

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

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

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

你也可以通过运行命令来检查终端中的分支:

git branch

所以这就是为什么你要逃跑

git push origin main

而不是

git push origin master

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

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

git config --global push.default current

现在您可以在没有更多错误的情况下使用Git推送!

2022年2月更新:

如果你的分支“主要”

在此处输入图片描述

运行此命令

git push origin main

如果你的分支“大师”

在此处输入图片描述

运行此命令

git push origin master
  1. git分支

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

    git branch -mv origin master

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

确保分支名称中没有不可见的错字:

git branch

输出:

master* <U+0096>your_branch_name

有一个不可见的<U+0096>字符可能是通过粘贴分支名称到达那里的。

将当前分支重命名为正确的值,然后再次尝试push

git branch -m your_branch_name

在2020年底,GitHub将其master分支更改为main分支。

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

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

我遇到了这个错误:

src refspec main does not match anyerror: failed to push some refs to 'https://github.com/<my_project_name>.git

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

git branch -M maingit remote add origin https://github.com/Sidrah-Madiha/<my_project_url>.gitgit push -u origin main

2021年3月,使用Git 2.31

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

git transfert协议v2由github支持将向客户端传达远程默认分支(现在GitHub为main)到git clone创建的本地Git存储库的名称。

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

下一次推送时不再有“src refspec master does not match any.”。

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

git push origin HEAD

同时检查您是否更改了分支名称

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

这对我很有效。

2021年,GitHub将默认分支名称更改为main。以前是master

我很痛苦,因为我试图推送到不存在的master,而远程分支是main。确保您使用的是正确的分支名称。

下面的命令对我有用

git push origin main
git init

第一个命令…首先,我们需要初始化//,这应该是肯定的!

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

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

也许分支是主要而不是大师

试试看

git push origin HEAD:main

git push origin main

我遇到了同样的问题,这解决了我的问题:

创建一个分支:

git checkout -b "master"

在那之后,

git push -u origin master

轰。

git initgit add .git commit -m "message"prompt me to enter email and user namegit config --global user.email "you@example.com"git config --global user.name "Your Name"

输入上述详细信息后,文件提交并推送成功:

git push

面临的问题

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

我使用了以下步骤:

问题之前使用的命令

git initgit commit -m "first commit"git branch -M maingit remote add origin "_git repository link here_"git push -u origin main

我的错误

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

我的解决方案

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

按照相同的顺序使用以下命令集来克服问题:

git initgit add .git commit -m "first commit"git branch -M maingit remote add origin "_git repository link here_"git push -u origin main

检查当前分支是否仅为master。我遇到了同样的问题,我的分支是main。所以运行以下命令为我完成了工作:

git推送源主。

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

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

最初,每个文件都处于未跟踪状态。我们需要将未跟踪的文件从工作目录添加到暂存区,然后Git才会开始跟踪文件。从工作目录,我们将文件移动到准备好下一次提交的暂存区,以便Git准备好为它们拍摄快照以创建新版本。你跳过了暂存区并仅向暂存区添加了一个文件。

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

git init

git add .

git commit -m "First commit"

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

git show-branch

如果显示主然后

git push -u origin master

对于GitLab用户,GitLab的更新版本现在将有一个“main”分支作为默认值。

因此,您可以尝试以下操作:

git push origin main

参考:GitLab新的Git默认分支名称是main

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

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

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

当您使用git add .时,您可能会得到无限滚动,就好像它正在添加多个文件一样。如果是这样,您不仅添加了脚本,还添加了大小较大的node_modules文件夹。

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

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

更新答案:确保所有更改都已提交。

然后键入:git push在此之前,请确保创建个人访问令牌,GitHub现在使用它。然后键入您的GitHub用户名(键入git ush后),然后在密码输入中粘贴您的个人访问令牌。

在所有这些之后,您应该能够在GitHub中看到您的更改!

最近遇到这个问题,我所做的是我检查显示参考使用,git show-ref并检查是否

主裁判

在场。

它存在,但它对我不起作用。

在我写作的时候

 git push origin main

后来我修改了这个命令git push origin master

它对我来说工作得很好。

我面临这个问题,因为我做了一个分支,我必须使用那个分支,之后它通过使用这个解决了。

git push origin branch_name

我也遇到了同样的问题。在我的情况下,我在添加之前犯了一个错误。按顺序执行步骤后,我得到了它。

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

git initgit add .git commit -m <Your commit message>git remote add origin "your repository link here"git push -u origin master

对我来说,这似乎是因为我已经完成了提交过程,所以我在尝试再次提交后得到了这个。

Your branch is ahead of 'origin/main' by 1 commit.(use "git push" to publish your local commits)

因为我看到路径是来源/主要,我推到主要而不是硕士,它起作用了。

NB:检查以确定主分支是主要还是大师

截至2022年。

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

git push -u origin main

这是通过添加提交然后执行来解决的:

git push -u origin main

可能是您当前的分支没有上游分支。第一次推送时,请尝试以下命令。

git initgit add .git statusgit commit -m "initial commit"git remote add origin "github.com/your_repo.git"git push --set-upstream origin master

我走错了分支。检查你的分支。我在主分支而不是主分支。

我犯了同样的错误;我的问题是这样解决的:

git config --global user.email "YOUR EMAIL"git config --global user.name "YOUR NAME"
 sudo git push -v --progress "origin" : origin/prod_18aug2022

当我从本地分支推到远程分支时,这对我很有效。

我的分支被命名为bugfix-22112022/5v8ST5Q6/181-kontaktformular-eingabe-nach-anmeldung-übernehmen,<-是的,它有一个逗号,我认为逗号不是它的一部分,并在尝试推送时删除了它。

我重命名了我的分支:

git branch -m bugfix-22112022/5v8ST5Q6/181-kontaktformular-eingabe-nach-anmeldung-übernehmen