【问题标题】:Error when cloning git "shallow" repository克隆 git“浅”存储库时出错
【发布时间】:2011-01-22 20:56:53
【问题描述】:

发出命令git clone --bare /path/to/repo时出现以下错误:

fatal: attempt to fetch/clone from a shallow repository

首先,什么是浅存储库,为什么不让我克隆它?

【问题讨论】:

标签: git


【解决方案1】:

将 .git/shallow 重命名为其他名称,克隆,重命名它,将 .git/shallow 复制到克隆的存储库

【讨论】:

    【解决方案2】:

    浅存储库是不包含完整历史记录的存储库。

    git-clone manpage

    --深度

    创建一个浅克隆,其历史被截断为指定 修订数量。一个浅 存储库有许多限制 (你不能克隆或从中获取, 既不推入也不推入),但 如果你只对 一个大型项目的近期历史 历史悠久,并想 将修复作为补丁发送。

    【讨论】:

    • 谢谢,但问题是我已经“丢失”了原始存储库。有没有可能把我的浅回购变成一个普通的?
    • 好吧,我删除了 .git/shallow 文件,它似乎正在工作。希望它没有破坏任何东西。
    • 创建一个新的存储库并将您的代码库导入其中。如果你只有一个浅的 repo,你已经失去了你的历史,所以将你的代码重新导入一个新的 repo 不会让你失去任何东西。
    • 您也可以删除.git/shallow 文件。我不知道这是否有任何负面影响。
    • @Oliver:检查存储库的“根”提交;您可能应该看到它认为它有一个父提交,但该父提交实际上并不存在于您的存储库中。这很容易引起问题。例如,当我创建一个浅克隆并删除 .git/shallow 文件时,git log 会遇到最旧的提交,找不到它的父提交,然后死掉:fatal: Failed to traverse parents of commit ...
    猜你喜欢
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    相关资源
    最近更新 更多