【问题标题】:Is it possible for a mirrored git repo miss commits?镜像 git repo 错过提交是否可能?
【发布时间】:2015-10-15 10:05:55
【问题描述】:

在第一天,有人将几个提交推送到我的 GitHub 存储库中。第 2 天,我使用 git clone --mirror 对 repo 进行了镜像克隆。然后,我从镜像本地克隆它并查看内容。日志或文件的实际内容中均未显示任何提交。看起来好像这两个提交从未存在过。不幸的是,我在镜像后重写了回购的历史,所以我不能回去交叉检查。那么,镜像克隆是否可能会丢失提交,或者我应该在其他地方寻找问题吗?

【问题讨论】:

    标签: git github mirror


    【解决方案1】:

    本地克隆默认会检出 master 分支。

    如果提交被推送到不同的分支:

    • 镜像克隆中仍然存在该分支
    • 该分支列在本地克隆 (git branch -avv) 的远程分支中

    但默认情况下不会签出。

    不幸的是,我在镜像后重写了回购的历史,

    你仍然可以在git reflog找到旧历史,并在旧历史SHA1上做一个临时分支。

    另见“Duplicating a repository”。

    【讨论】:

    • 感谢您的回复,@VonC!我搜索了镜像克隆中的所有分支,但没有看到这些提交。我确实看到了丢失之前和之后的提交,但仍然看不到丢失的提交。我能想到的唯一其他选择是丢失的提交被制作成一个从未同步回来的分叉。在 GitHub 上创建一个 fork 可以做到这一点吗?
    • @evolvah 是的。
    猜你喜欢
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2015-12-26
    相关资源
    最近更新 更多