2011-08-11 132 views
5

我在我的linux服務器上設置了gitolite,並將我的筆記本電腦添加到gitolite-admin存儲庫。我被迫格式化我的筆記本電腦(壞的硬盤),所以我需要找出一種方法來重新獲得我的其他存儲庫gitolite控件的訪問權限。值得一提的是,如果有幫助,我的Linux服務器上有root權限。我不熟悉SSH /公鑰等,所以如果有人可以幫忙,我將不勝感激。Gitolite訪問修復

回答

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安裝更換關鍵

+0

完美的解決方案。謝謝。 – Mullins

4

上面的答案是有幫助的。 但是對於gitolite 3.04(並且可能稍後)使用gitolite push而不是gl-admin-push

+0

完美地工作!我能夠修復我的破損的帳戶:)我完全使用:'〜/ gitolite/src/gitolite push' – boryn