40

我正在尝试根据此处的说明设置 gitosis 。

它在我的远程机器上工作正常,所以服务器似乎设置得很好,但我也希望能够从不同的用户帐户(不是在 gitosis 设置中创建的 git 用户)在我的 gitosis 服务器机器上进行开发。

我已经复制了密钥并修改了 gitosis.conf 以便其他用户帐户可以访问但是当我尝试克隆它时它似乎可以工作,除了最后它说:

git Warning: remote HEAD refers to nonexistent ref, unable to checkout

我最终得到一个空目录,除了 .git

我在谷歌上搜索了一下,但对问题所在并没有真正的了解

4

7 回答 7

25

我发现出了什么问题。问题是当我推送到我的 gitosis 服务器时我没有注意警告,所以我没有意识到我没有推送特定的分支。我以为它只会推动电流,但在您设置之前情况并非如此:

git config push.default current
于 2009-12-25T23:29:03.170 回答
22
  1. git branch -rgit checkout -b master <remotebranchofinterest>

  2. 检查HEAD远程 .git 中的文件。

  3. 检查是否有人已经问过这个问题:这里

于 2009-12-25T14:55:01.133 回答
18

此警告的另一个可能原因可能是master存储库中的分支丢失(或)存储库未使用主分支。如果是这种情况,请不要担心警告!,使用

git checkout <some_existing_branch>

警告是因为默认情况下,在 pull git 尝试签出到 master 分支之后。

于 2012-08-21T12:53:59.843 回答
2

有类似的问题。似乎在我第一次推动时我做了git push origin master:/refs/heads/master而不是git push origin master:refs/heads/master(注意额外的斜线)。这导致我的主人被放置(在远程存储库中)refs/heads/refs/heads/master而不是refs/heads/master. 解决方法是重新组织远程文件夹并重新推送。

于 2011-07-01T07:21:16.367 回答
1

把事情简单化。为您的服务器上的用户帐户添加 gitosis 授权和 SSH 密钥,然后照常克隆:

user@server$ git clone git@server:repo.git
于 2009-12-25T15:14:34.690 回答
0

如果您尝试克隆,http://请注意您需要比 1.6.6 更新的 git - 否则您应该使用git://基于 URI。

于 2012-03-27T11:16:35.030 回答
0

我使用 tortoiseGit,但我不知道如何通过命令行使用 git。所以我一直想知道如何在我的乌龟身上避免这样的问题。所以也许我并不孤单。我这样解决了这个问题:

  • 克隆远程仓库
  • 右键单击根文件夹,然后从那里选择一个现有分支

Im my case, there was only a branch "dev", without master. So when I tried to clone there was no local branch to check out and as soon as I switched to "dev" it was able to check out all the content successfully. Hope that will be helpful.

于 2013-09-18T19:09:03.183 回答