git - 恢复 gitolite 备份不起作用

标签 git gitolite

我最近不得不在我们的服务器上重新安装 de SO。它使用 Debian 操作系统。我已经重新安装了 gitolite3 包。在安装过程中,它要求我提供管理员 key 。我使用了在我拥有的 gitolite-admin 备份的 keydir 中的 admin.pub 中找到的完全相同的节。

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

chown -R gitolite3:gitolite3 dea.git/

然后我尝试克隆它(而且,是的,我对该存储库具有 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.

在另一个 repo 中尝试过,结果是一样的。谁能告诉我可能发生了什么?

最佳答案

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

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

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

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

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

chown -R gitolite3:gitolite3 *

然后它开始工作。至少前几次测试。将看看我无法访问的 repo 协议(protocol)会发生什么。

希望这对某人有帮助......

更新

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

关于git - 恢复 gitolite 备份不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26097194/

相关文章:

Git 部分复制访问控制

git - 谁在成功使用 git-flow?

git - 使用 git 作为部署实用程序时的安全问题

git - 使用gitolite时如何重命名主分支

gitolite 存储库已创建但 projects.list 为空

git - 被 gitolite 锁定并且无法 gl-admin-push

git - 为什么需要 Gitosis 或 Gitolite?

git - Symfony2 项目与 Git : Best approach?

xcode - 如何停用 Xcode 的 git 功能? (删除 git 集成)

git - 为什么在我执行 shell 脚本时,我的 cmd.exe 窗口中会出现 git 提示符?