恢复gitolite备份无法正常工作

时间:2014-09-29 09:58:06

标签: git gitolite

我最近不得不在我们的服务器上重新安装de SO。它使用Debian OS。我重新安装了gitolite3包。在安装过程中,它会要求我输入管理密钥。我使用了与我所拥有的gitolite-admin备份的keydir中的admin.pub中找到的完全相同的节。

然后我开始测试。我在计算机的另一个地方克隆了gitolite-admin repo。没有问题。我做了一个小修改并推动它。仍然一切正常。所以现在我将一个名为aes.git的备份复制到/ var / lib / gitolite3文件夹中。使用此命令确保权限正确:

chown -R gitolite3:gitolite3 dea.git/

我尝试克隆它(是的,我对该repo拥有RW +权限)。我明白了:

git clone gitolite3@pc00:dea.git
Cloning into 'dea'...
FATAL: R any dea admin DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

尝试了另一个回购,这是同样的事情。谁能告诉我可能会发生什么?

2 个答案:

答案 0 :(得分:1)

好吧,我已经解决了。但是,我并不完全确定出了什么问题。我的理论是,这是我复制文件时使用的cp命令。我认为它没有像我预期的那样完全覆盖.git文件夹。

我现在做的是:清洁安装。 1)克隆新的gitolite-admin repo并将旧的conf文件的信息复制并粘贴到新的文件中。 2)将所有密钥复制并粘贴到新的keydir中。推送更改(这创建了所有存储库)。

然后在服务器中我用cp和开关-af(我以前没用过f):

 cp -af /home/gitolite_old/repositories/*.git ./

显然,我站在新的repo目录中。然后我做了:

chown -R gitolite3:gitolite3 *

然后它开始工作了。至少前几个测试。将看到我无法访问的回购会发生什么。

希望这有助于某人......

更新

系统的其他用户开始使用它没有任何问题。重新安装对他们来说是完全透明的。这很有用。

答案 1 :(得分:0)

我知道这是一篇非常老的文章,但仍然使用gitolite3,这是我从备份中还原gitolite3的工作:

  • 安装gitolite3:sudo apt install gitolite3
  • 删除默认安装目录:sudo rm -rf /var/lib/gitolite3
  • 将备份复制到/ var / lib / gitolite3:sudo cp -a gitolite3 /var/lib/
  • 更改权限:sudo chown -R gitolite3:gitolite3 /var/log/gitolite3
  • 切换到gitolite3用户:sudo su gitolite3
  • 运行:gitolite setup

就是这样,您现在已经还原了gitolite3备份。测试:

  • git clone gitolite3@123.123.123.123:gitolite-admin