【问题标题】:Recreating Gitolite-admin Repo重新创建 Gitolite-admin 存储库
【发布时间】:2012-11-29 17:41:41
【问题描述】:

我接手了一个项目,以前的管理员没有提供任何帮助、文档和移交……我正在尝试克隆 gitolite-admin 存储库,以便我可以将自己添加为用户。

问题是当我跑步时

git clone gitolite@repo1:gitolite-admin.git

我收到错误提示

R access for gitolite-admin DENIED to macbook
(Or there may be no repository at the given path. Did you spell it correctly?)
fatal: The remote end hung up unexpectedly

用服务器的 conf/gitolit.conf 文件包含

repo    gitolite-admin
    RW+     =   macbook

我的存储库包含 gitolite-admin.git 等,我成功运行了

git clone gitolite@repo1:wp_of_travel

当我跑步时

ssh gitolite@repo1 info

我收到了一些项目,但那里没有列出 gitolite-admin。

我的情况是绝望还是我错过了可以重建回购并再次克隆它的东西?

如果有帮助的话,我确实可以完全控制服务器...

非常欢迎您就此事提供任何帮助或建议。 谢谢

【问题讨论】:

    标签: git repository gitolite git-clone


    【解决方案1】:

    当我跑步时

    ssh gitolite@repo1 info
    

    我收到了一些项目,但那里没有列出 gitolite-admin。

    这是正常的:如果 macbook 没有在 repo 的 gitolite.conf 的那个项目中注册(不是你自己本地的 gitolite.conf,而是当前存储在 gitolite-admin.git repo 中的那个),你不会看到它列出来。

    如果你可以访问服务器,你可以在本地克隆gitolite-admin.git(文件协议,这里没有 ssh),添加你的名字(在你的公共 ssh 密钥之后),推回,然后运行gitolite setup(如果你正在使用 gitolite v3),以便 gitolite 更新~/.ssh/authorized_keys 文件。


    对于 gitolite V2,页面 gl-admin-push: bypassing gitolite for the gitolite-admin repo 很有帮助:

    将 repo 克隆到某个安全位置并 cd 到它:

    cd /tmp
    git clone ~/repositories/gitolite-admin.git
    cd gitolite-admin
    

    对该克隆进行任何您想要的更改并提交。您可以添加新密钥、更改 conf 文件或任何需要修复的内容。如果这是修复某些可能导致您失去访问权限的配置问题的最简单方法,您甚至可以重置为较旧的提交(回退)。

    完成后,不要使用git push <push arguments>,而是使用此程序。
    例如,使用 gl-admin-push -f 代替 git push -f

    OP edwardgd 确认in the comments

    看起来以前的系统管理员对 root 以及用户 gitolite 进行了失败的安装,这就是我感到困惑的原因。
    作为参考,adminpush 方法非常简单,一旦您知道在哪里应用它。

    【讨论】:

    • 运行 gitolite setup 命令会破坏之前的任何设置吗?我还更新了我的文字,说 macbook 在服务器 conf/gitolite.conf 上,而不是我自己的。我现在接手该项目时,我错误地使用了“我的”。 (感谢您的快速响应和帮助)
    • @edwardgd with gitolite V3, no: sitaramc.github.com/gitolite/setup.html and sitaramc.github.com/gitolite/emergencies.html#lost-key 也可以提供帮助。
    • 我在这里可能是个智障......但是当我运行 gitolite 设置时,当我以用户 gitolite 身份登录时,我返回-su: gitolite: command not found
    • 在我的 /bin/ 中没有 gitolite。如果这是标准安装的目的,那么它看起来就像旧系统管理员在离开之前破坏了服务器......
    • @edwardgd ssh gitolite@repo1 将为您提供您正在使用的 gitolite 版本。如果是 v2... 坦率地升级到 V3 ;) 但如果无法升级,请使用 sitaramc.github.com/gitolite/g2/adminpush.html 访问/更新该管理员存储库。
    猜你喜欢
    • 2011-09-16
    • 2014-10-20
    • 2023-03-17
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    相关资源
    最近更新 更多