Gitolite访问修复

6

我在我的Linux服务器上设置了gitolite,并将我的笔记本电脑添加到gitolite-admin存储库中。由于硬盘损坏,我被迫格式化了我的笔记本电脑,因此需要找到一种方法重新访问由gitolite控制的其他存储库。值得一提的是,我在Linux服务器上拥有root访问权限,如果有帮助的话。我对SSH /公钥等不是很熟练,所以如果有人能帮忙,我会非常感激。

2个回答

11
如果您已经安装了2.0.3或更高版本,则可以使用gl-admin-push命令从管理员存储库的本地克隆中进行推送:
请参见gl-admin-push:绕过gitolite为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版本的Gitolite,则可以使用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 来安装替换密钥


  • 5
    上面的回答很有帮助。 但是对于gitolite 3.04(以及可能更高版本),请使用gitolite push而不是gl-admin-push

    完美运作!我已经成功修复了我的账户 :) 我确切地使用了:~/gitolite/src/gitolite push - boryn

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接