这篇文章讲述了如何修复一个git错误。
error: src refspec master does not match any error: failed to push some refs to 'url.git'.
对于以下用例,可能的原因是这个错误
- 创建并提交修改到远程版本库
- 从命令行推送现有版本库
以下是创建、克隆和提交版本库的步骤和命令
error: src refspec master does not match any error: failed to push some refs to 'url.git'.
有两个用例success 和error 流。
让我们看看如何重现这些error 用例。
这些都是不正确的添加提交和推送修改的方式,但给出了一个用例,我们如何能重现这个错误。
-
我有一个本地项目,在
b:\\githubwork目录下创建了angular-crud-mock-api。 -
在github.com创建一个空仓库,我的仓库网址。
https://github.com/intkiran/angular-mock-api-json.git
- 现在想把angular-curd-mock-api的代码修改提交到现有的本地应用程序创建的`angular-crud-mock-api的仓库网址中,该仓库没有与GitHub仓库同步。
- 让我们看看如何将这些修改添加到远程仓库中
:\githubwork\angular-crud-mock-api>git remote add origin https://github.com/intkiran/angular-mock-api-json.git
- 发布git push命令并抛出一个错误
B:\githubwork\angular-crud-mock-api>git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/intkiran/angular-mock-api-json.git'
这意味着,在推送修改之前,我们必须先添加第一个文件或目录。
- 使用下面的命令添加文件和目录
git add .
B:\githubwork\angular-crud-mock-api>git add .
warning: LF will be replaced by CRLF in angular-crud-mock-api/.browserslistrc.
The file will have its original line endings in your working directory.
它将变化添加到git中的本地仓库。
现在,让我们试着用git push 命令推送修改到远程仓库。
- 接下来,使用
git push命令推送更改。
B:\githubwork\angular-crud-mock-api>git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/intkiran/angular-mock-api-json.git'
这个错误抛出了一个错误,你需要在推送命令前使用提交命令。
- 提交更改 这里是提交到本地仓库的更改。
B:\githubwork\angular-crud-mock-api>git commit -m "Initial changes"
[master (root-commit) 96c6c0c] Initial changes
29 files changed, 30724 insertions(+)
成功流程
让我们看看如何重现这些success 用例。
这里是你需要运行的命令序列,以避免错误。
git remote add origin https://github.com/intkiran/angular-mock-api-json.git
git add .
git commit -m "Initial changes".
git push -u origin master
下面是推送更改的输出
B:\githubwork\angular-crud-mock-api>git push -u origin master
Enumerating objects: 38, done.
Counting objects: 100% (38/38), done.
Delta compression using up to 4 threads
Compressing objects: 100% (34/34), done.
Writing objects: 100% (38/38), 260.09 KiB | 5.20 MiB/s, done.
Total 38 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/intkiran/angular-mock-api-json.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如果你创建新的版本库或推送现有的版本库,你必须仔细检查以下事项以避免这个错误。
-
在推送修改到主库或分支之前,你忘记了添加文件
-
缺少或跳过
git add .或git commit这些命令会出现错误。
以下是添加文件或目录的步骤
- git提交信息中包含了
double quotes,而不是single quotes
有效
git commit -m "initial changes"
无效
git commit -m 'initial commit'
- 请用推送命令检查分支名称
通常情况下,我们会用下面的命令推送修改。
git push -U origin `branchame`
push 命令将本地仓库的修改推送到远程仓库branchname 请确保branchname 存在。
master "是默认的分支。
下面是一个正确的命令
git push -U origin master
可能的原因
- 分支名称没有找到
- 分支名称拼写错误或不区分大小写
如何创建一个新的 repo 来避免这个错误?
这里有一个避免这个错误的命令列表
git init
git add .
git commit -m 'message'
git push -u origin master
总结
在本教程中,学习如何在使用git仓库时解决git错误:src refspec origin不匹配。