【问题标题】:Why I can't add new repositories using gitosis?为什么我不能使用 gitosis 添加新的存储库?
【发布时间】:2009-10-27 22:45:53
【问题描述】:

我设置了 gitosis,但即使我可以克隆、拉取和推送到 gitosis-admin 存储库,我也无法创建新的。

根据我阅读的每个文档,要创建一个新的 repo,必须:

  • 授予用户对 repo 的写入权限(在组中 put:writable = repo-name)
  • 用户在本地创建一个 repo 添加一个远程然后进行推送
  • 在服务器中创建 repo

但我总是收到错误fatal: 'repo-name.git' does not appear to be a git repository

但是如果在服务器上登录(作为用户 git)并使用 mkdir repo-name.git && cd repo-name.git && git --bare init 手动创建 repo,那么我可以从本地 repo 推送到远程 repo。

【问题讨论】:

  • 当你说“我总是得到错误fatal: 'repo' does not appear to be a git repository”时,这个错误是什么时候发生的?在本地创建 repo 或将本地 repo 推送到 gitosis 服务器时?究竟是什么错误?
  • 将本地 repo 推送到 gitosis 时。错误是(类似于):'repo-name.git' 似乎不是 git 存储库远程端挂起。但我怀疑是损坏安装,因为在 ubuntu 9.04 中它运行良好。而在 OS X 10.5.8 和 ubuntu 8.10 中没有
  • Gitosis 不再受支持。您应该考虑改用 gitolite。

标签: git gitosis


【解决方案1】:

我遇到了这个问题,我发现如果我改变访问存储库的方式,它就可以工作。创建组后可写。

# Go to the directory you want to start your project in.
git init; git add .
git commit -m 'initial commit'
git remote add origin gitosis@[server]:gitosis-test.git
git push --all

所以在我做 gitosis@[server]/gitosis-test.git 之前回顾一下,那是失败的。我换了分号,它起作用了。

日志级别的属性 = DEBUG 这对找出正在发生的事情很有帮助。

【讨论】:

  • 这里的关键声明是使用/而不是:。 Git 可能也应该接受。
【解决方案2】:

更新:
在您的 gitosis-admin 存储库中,尝试在您的 gitosis.conf 中的 [gitosis] 下添加 loglevel = DEBUG。将此更改推送到您的服务器,然后重试。这将生成大量有用的信息来帮助调试问题。

These instructions from Dreamhost 是我找到的最好的。

你是在更新权限后推送gitosis-admin repo吗?

【讨论】:

  • 是的,它正在更新 gitosis 服务器中的配置,我还确保更新后挂钩是可执行的...
  • 我不知道 gitosis 在配置更新时是否应该创建新的仓库,我的意思是,我更新配置并推送,我看到配置在服务器上更新但我不知道'没有看到创建的新裸仓库,但我不知道这是否应该工作?
  • @Cesar:仅更新gitosis.conf 中的配置不会在服务器上创建存储库。为此,您必须在本地创建 repo,然后使用 git push origin master:refs/heads/master 将其推送到服务器。
  • 但实际上, git push origin master:refs/heads/master 根本不起作用。
【解决方案3】:

你好,我今天也遇到了同样的问题。

我检查过

$ ssh git@yourserver echo 如果你看到这个,那不是 gitosis

发现 gitosis 没有为 ssh 会话提供服务。

我不明白为什么。

作为解决方案,删除了 git 用户(我用于 gitosis 目的)及其主文件夹并从头开始重新创建。

它有帮助。

gitosis.git 中的 README.rst 说

".. 警告::

    For now, ``gitosis`` uses the ``HOME`` environment variable to
    locate where to write its files. If you use ``sudo -u``
    without ``-H``, ``sudo`` will leave the old value of ``HOME``
    in place, and this will cause trouble. There will be a
    workaround for that later on, but for now, always remember to
    use ``-H`` if you're sudoing to the account.

您应该始终通过git 编辑配置文件。文件 链接到服务器上~/.gitosis.conf 的符号将被覆盖 将更改推送到 gitosis-admin.git 存储库时。 " 我想这可能是原因..

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多