首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git错误: src refspec母版与任何

Git错误: src refspec母版与任何
EN

Stack Overflow用户
提问于 2011-04-27 10:08:58
回答 2查看 370K关注 0票数 266

我需要创建一个名为carboncake的回购程序。

我试过这个:

将gitosis存储库克隆到我的本地机器上。

代码语言:javascript
复制
$ git clone gitosis@myserver.net:repositories/gitosis-admin.git
$ cd gitosis-admin
$ vim gitosis.conf

[repo carboncake][group carboncake]部分添加到文件末尾

代码语言:javascript
复制
[gitosis]

[group team]
writable = sweepshots
members = git_id_rsa

[group gitosis-admin]
writable = gitosis-admin
members = git_id_rsa

[repo carboncake]
description = A brand new app by Mithun.
owner = Mithun P

[group carboncake]
writable = myappname
members = mithun @core

然后复制Putty生成的pub密钥文件(我正在使用Git basg for Windows):

$cp /some/where/mithun.pub keydir/mithun.pub

执行下列命令:

代码语言:javascript
复制
$ git add gitosis.conf keydir/mithun.pub
$ git commit -m "Added 'carboncake' repository and 'mithun' user."

$ git pull --rebase
$ git push

但是它并没有在我的服务器上创建任何carboncake.git。

,所以我跟踪了这个:

在服务器上执行以下命令:

代码语言:javascript
复制
$ su gitosis 
$ git init --bare /srv/gitosis/repositories/carboncake.git

,这是我的问题:

我试着从本地机器上签出/克隆新的存储库。

代码语言:javascript
复制
$ mkdir carboncake
$ cd carboncake
$ git init 
$ touch a_text_file.txt 
$ git add a_text_file.txt 
$ git remote add origin gitosis@myserver.net:repositories/carboncake.git
$ git push origin master

它返回了错误:

代码语言:javascript
复制
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'gitosis@myserver.net:repositories/carboncake.git'

当我尝试git push origin HEAD:master时,它返回了错误:

代码语言:javascript
复制
error: src refspec HEAD does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'gitosis@myserver.net:repositories/carboncake.git'

当我尝试git push origin master:refs/heads/master时,它返回了错误:

代码语言:javascript
复制
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'gitosis@myserver.net:repositories/carboncake.git'

本地机器上的git show-ref不显示任何内容。

服务器上的/srv/gitosis/repositories/carboncake.git/refs/heads/目录也是空的。

我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-27 10:18:43

您已经创建了一个新的存储库,并将一些文件添加到索引中,但还没有创建第一个提交。在你做完之后:

代码语言:javascript
复制
 git add a_text_file.txt 

..。做:

代码语言:javascript
复制
 git commit -m "Initial commit."

..。这些错误应该消失。

票数 613
EN

Stack Overflow用户

发布于 2011-04-28 06:43:01

快速可能的答案是:当您第一次成功克隆一个空的git存储库时,原点没有主分支。因此,当你第一次承诺要推动的时候,你必须做:

代码语言:javascript
复制
git push origin master

这将为你创建这个新的主分支。像这样的小东西和git是非常混淆的。

如果这没有解决你的问题,那么它可能是一个与海泡石相关的问题:

你的文件看起来很奇怪。应该有一个例子的conf文件,随你的珍珠岩。我的看起来是这样的:

代码语言:javascript
复制
repo    phonegap                                                                                                                                                                           
    RW+     =   myusername otherusername                                                                                                                                               

repo    gitolite-admin                                                                                                                                                                         
    RW+     =   myusername                                                                                                                                                               

请确保您的conf文件设置正确。

实际上,Gitolite用一个不接受交互式终端会话的修改shell替换了gitolite用户的帐户。您可以通过尝试使用gitolite用户帐户将ssh插入到您的框中来查看gitolite是否在工作。如果它知道您是谁,它会说类似于"Hi XYZ,您可以访问以下存储库: X,Y,Z“,然后关闭连接。如果它不认识你,它就会关闭连接。

最后,在本地计算机上第一次git推送失败后,您不应该求助于在服务器上手动创建回购。我们需要知道为什么你的推送一开始就失败了。你可以让你自己和海泡石更混乱,当你不完全使用海泡石时,一旦你设置了它。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5802426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档