Gitolite访问修复

时间:2011-08-11 23:07:32

标签: linux git ubuntu gitolite

我在我的linux服务器上设置了gitolite,并将我的笔记本电脑添加到了gitolite-admin存储库。我被迫格式化我的笔记本电脑(坏硬盘)所以我需要想办法重新获得我的其他存储库gitolite控件的访问权限。值得一提的是,如果有帮助,我可以在我的linux服务器上进行root访问。我不太熟悉SSH /公钥等,所以如果有人可以提供帮助,我将非常感激。

2 个答案:

答案 0 :(得分:11)

如果安装了2.0.3或更高版本,则可以使用gl-admin-push命令从管理存储库的本地克隆中推送:

请参阅gl-admin-push: bypassing gitolite for the gitolite-admin repo

  • su给您的Gitolite用户
  • cd /tmp && git clone ~/repositories/gitolite-admin.git
  • keydir/中的旧公钥替换为新公钥,然后提交
  • ~/.gitolite/src/gl-admin-push推动它;这将更新用户的.ssh/authorized_keys以集成新密钥

如果您使用的是2.0.3之前的版本,则可以使用gl-dont-panic命令替换密钥:

  • su给您的Gitolite用户
  • 将您的新公钥复制到/tmp/username.pub
    username.pub应与您keydir/中当前的文件名相同;您可以使用

    列出现有keydir/的内容
    GIT_DIR="$HOME"/repositories/gitolite-admin.git git ls-tree master:keydir
    
  • 运行cd /tmp && ~/.gitolite/src/gl-dont-panic username.pub以安装替换密钥

答案 1 :(得分:5)

上面的答案很有帮助。 但对于gitolite 3.04(可能稍后)使用 gitolite push 而不是 gl-admin-push