我克隆我的存储库:
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'
git add
,也会出现此错误。
也许你只需要承诺。当我这样做时,我遇到了这个:
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
成功!
试试 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 show-ref
展示了我的分支; git push origin HEAD:<branch>
为我工作。
git push origin HEAD:master
。但是为什么像 git push --force origin master
这样的东西不起作用?
master
现在更改为 main
。
删除本地计算机上的所有文件后,我也遇到了类似的错误,我必须清理存储库中的所有文件。
我的错误信息是这样的:
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
工作。谢谢!
git push -u origin master
error: src refspec master does not match any.
为此,您需要按如下方式输入提交消息,然后推送代码:
git commit -m "initial commit"
git push origin master
成功推送给master。
在我只添加了一个目录之后,我发现这发生在一个全新的存储库中。
一旦我添加了一个文件(例如一个自述文件),Git push 就很好用了。
缺少或跳过 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
是什么?
要修复它,请重新初始化并遵循正确的代码序列:
git init
git add .
git commit -m 'message'
git push -u origin master
当您在特定分支中并尝试推送另一个尚不存在的分支时,也会发生这种情况,例如:
$ 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;
git push origin scheduler
。哈!一封信将在编程中杀死您。哈哈
确保您首先添加,然后提交/推送:
喜欢:
git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
我遇到了同样的问题,我使用了 --allow-empty
:
$ git commit -m "initial commit" --allow-empty
...
$ git push
...
补充
此问题的主要原因之一是某些 Git 服务器(例如 BitBucket)在克隆新存储库时没有初始化其 master
分支。
几天前我遇到了同样的问题。
如果您现在(2020 年)创建了一个新的存储库,那么默认分支是 GitHub 上的主分支。
您现在可以在您的存储库分支中查看 GitHub。
您还可以通过运行以下命令检查终端上的分支:
git branch
所以这就是为什么你需要运行
git push origin main
代替
git push origin master
祝你好运
面临的问题
当我在 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 init
命令之后使用 git add .
。
以相同的顺序使用以下命令集来解决该问题:
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
git add .
,然后运行 git commit -m "first commit"
,然后再次推送
git branch -M main
为我工作。
git branch -M main
很重要,这就是它对我不起作用的原因。如果您不放任何东西,它需要 master
。
两种可能性:
1- 要么您忘记包含 .gitignore
文件。
以下是所需的所有步骤:
在远程创建一个空的 Git 存储库,在本地为您的项目创建 .gitignore 文件。 GitHub 在此处为您提供了示例列表启动终端,并在您的项目中执行以下命令: git remote add origin YOUR/ORIGIN.git git add 。 git commit -m "初始提交或第一次提交的任何消息" git push -u origin master
2- 或者您正在尝试创建一个新的 Github 项目。
Github 将 master 替换为 main 作为默认分支名称。要解决此问题:
在您的本地项目上:删除 .git 文件夹(如果存在)通过在您的项目中启动以下命令来重新创建一个干净的存储库:
在终端:
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 add --all
接下来,我按照类似的步骤
git commit -m "First commit"
然后,
git remote add origin git@github.....
最后但是同样重要的:
git push -u origin master
执行此操作时,Windows 安全将弹出询问您的用户名和密码。
您可能在 git init
命令之后忘记了命令 git add .
。
在 GitHub 更新 01.10.20 之后,您应该使用 main 而不是 master。
像这样做...
在 GitHub 上创建存储库删除本地目录中现有的 .git 文件转到本地项目目录并键入 git init git add 。 git commit -m"My First Commmit" 现在检查您的分支名称,它将是您本地项目中的主控 git remote add origin
注意:从 01.10.20 github 决定使用 main
而不是 master
分支使用默认分支名称
只需添加一个初始提交。按着这些次序:
混帐添加。
git commit -m "初始提交"
git push 起源大师
这对我有用。
我的问题是“主”分支尚未在本地创建。
一个快速
git checkout -b "master"
创建了主分支,此时,快速
git push -u origin master
将工作推送到 Git 存储库。
2022 年 2 月更新:
如果您的分支是“主”:
https://i.stack.imgur.com/4xAFN.png
运行此命令:
git push origin main
如果您的分支是“主”:
https://i.stack.imgur.com/AhDrP.png
运行此命令:
git push origin master
也许分支是主而不是主
尝试
git push origin HEAD:main
或 git push origin main
我也遇到过同样的问题
解决了我的问题。
只做一个分支:
git checkout -b "master"
在那之后
git push -u origin master
砰。
希望它会得到解决。
当您添加文件,忘记提交和推送时,就会发生这种情况。所以提交文件然后推送。
这只是意味着你忘了做初始提交,试试
git add .
git commit -m 'initial commit'
git push origin master
首先, git add 。二、git commit -m "message" 三、git push origin 分支
请检查拼写错误,因为这也可能导致该错误。
我也遵循了 GitHub 的指示,如下所示,但我仍然遇到了与 OP 提到的相同的错误:
git init
git 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 commit -m "first commit"
要检查当前状态,git status
。
并遵循以下步骤:
git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
当我错过跑步时,我遇到了同样的问题:
git add .
(您必须至少有一个文件,否则您将再次收到错误消息。)
如果在分离 HEAD 模式下工作时遇到此错误,您可以执行以下操作:
git push origin HEAD:remote-branch-name
另请参阅:Making a Git push from a detached head
如果您位于与远程分支不同的本地分支上,则可以执行以下操作:
git push origin local-branch-name:remote-branch-name
git add --all
如果您希望添加所有文件或者您可以有选择地添加文件。然后是git commit -m "Initial comment"
、git push origin master
。这肯定会奏效。git commit -m 'initial commit'
应该用双引号引起来。 'git commit -m "initial commit"
,至少在 Windows 上。