我使用以下内容克隆存储库:
git clone ssh://xxxxx/xx.git
但在我更改一些文件并添加和提交它们之后,我想将它们推送到服务器:
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'
两种可能性:
1-要么忘记包含.gitignore文件。
以下是所需的所有步骤:
在远程上创建一个空的Git存储库,在本地创建.gitignore文件。GitHub在这里列出了一些示例启动终端,然后在项目中执行以下命令:git remote添加原点YOUR/origin.gitgit添加。gitcommit-m“初始提交或首次提交的任何消息”git push-u原始主机
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
我为一个GitHub存储库做了贡献,所以我分叉了这个项目,克隆了它,创建了自己的分支,进行了一些提交,并尝试推送。
此时,我发现我克隆的不是我的fork,而是原始的项目存储库(我没有权限将其推送到)。
所以我更改了.git/config以将原点指向我的存储库。
此时,当我尝试推送时,我收到了错误消息:src-refspec my_awesome_branch不匹配。
我所要做的就是触摸任何文件并提交它(就像你在这个答案中看到的一样):
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