我最近不得不在我们的服务器上重新安装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.
尝试了另一个回购,这是同样的事情。谁能告诉我可能会发生什么?
答案 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的工作:
sudo apt install gitolite3
sudo rm -rf /var/lib/gitolite3
sudo cp -a gitolite3 /var/lib/
sudo chown -R gitolite3:gitolite3 /var/log/gitolite3
sudo su gitolite3
gitolite setup
就是这样,您现在已经还原了gitolite3备份。测试:
git clone gitolite3@123.123.123.123:gitolite-admin