【问题标题】:Unable to read from remote repository after git mirrorgit镜像后无法从远程存储库读取
【发布时间】:2014-01-12 06:58:20
【问题描述】:

我一直在尝试为我的一个 gitolite 存储库创建镜像,但遇到了问题。我使用命令在与原始 git 存储库相同的机器上创建了镜像;

cd /var/repo_mirrors
git clone --mirror /home/gitolite/repositories/Test.git

(我基本上是按照这里的步骤操作的:http://www.redmine.org/projects/redmine/wiki/RedmineRepositories#Git-repository

我还希望能够浏览存储库,所以我对 www-data 做了一个 chown,以便 Apache 可以读取。

一切都很好。但现在的问题是我无法克隆/推送原始存储库。当我尝试时,出现以下错误;

致命:未能读取对象 a0d91d1cc22bfbd5666d51c1ea7a5015008e50b6: 权限被拒绝致命:无法从远程存储库读取。

请确保您拥有正确的访问权限和存储库 存在。

注意:镜像之前一切正常

任何关于哪里出了问题的想法都将不胜感激。

【问题讨论】:

    标签: git ubuntu gitolite mirror


    【解决方案1】:

    这可能与git clone 期间创建的硬链接有关:

    .git/objects/ 目录下的文件被硬链接以尽可能节省空间。

    尝试相同的克隆,但没有硬链接:

    cd /var/repo_mirrors
    git clone --mirror --no-hardlinks /home/gitolite/repositories/Test.git
    

    【讨论】:

    • 谢谢,就是这样。担心镜子会导致这样的问题。
    • 谢谢老兄,这正是我的情况:我克隆了一个本地存储库,将克隆复制到 postgres 并运行了一些 SQL 脚本。但在那之后,我无法再推送任何东西了......事实上,事实证明,postgres 拥有的原始目标文件也有(该死!)......将它改回 gitolite 并再次神奇地推送是可能的。
    猜你喜欢
    • 2013-04-13
    • 2018-12-10
    • 2012-11-10
    • 2014-05-04
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    相关资源
    最近更新 更多