繁体   English   中英

当“git push”到github时出错

[英]Error when “git push” to github

我在github.com上有一个公共存储库,有2个分支: mastertest

我在本地创建了一个新目录并执行了:

[ ] git clone git@github.com:{username}/{projectname}.git

然后我创建了一个名为my_test的新分支

[ ] git branch my_test

并切换到它。

[ ] git checkout my_test

然后我将其与我的公共存储库的test分支合并

[ ] git merge origin/test

它导致了快速前进。

我做了一些改变并承诺了。 然后我尝试将本地my_test分支推my_test github上的公共test分支

[ ] git push git@github.com:{username}/{projectname}.git test 

但是我收到了这个错误:

error: src refspec test does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git

我究竟做错了什么 ?

也许试试:

git push git@github.com:{username}/{projectname}.git HEAD:test

该命令行上最后一个参数的格式是refspec ,它是一个源ref,后跟一个冒号,然后是目标ref。 您也可以使用本地分支名称( my_test )而不是HEAD来确定您正在推送正确的分支。

git push的文档有关于此参数的更多详细信息。

此外,每次要推送时都不需要输入整个URL。 当您运行克隆时,git将该URL保存为“origin”,这就是为什么您可以运行“merge origin / test”之类的东西 - 它意味着“origin”服务器上的“test”分支。 因此,在这种情况下推送到服务器的最简单方法是:

git push origin my_test:test

这会将您的本地“my_test”分支推送到“origin”服务器上的“test”分支。 如果您将本地分支命名为与服务器上的分支相同,则冒号不是必需的,您只需执行以下操作:

git push origin test

如果您尝试在没有先提交任何内容的情况下尝试推送到新存储库,也会出现此错误。 尝试:

git add -A
git commit -am 'Initial commit'

然后再试一次。

我想在这里你需要设置分支跟踪。 请运行以下命令以启用跟踪

git branch --track my_test origin/my_test

去测试

git push -u origin my_test
git pull origin my_test

您需要确保本地存储库与您尝试推送的远程存储库具有相同的名称。

首先,使用git branch -m“test”更改存储库,以便“my_test”为“test”。 第二,只是git push origin test

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM