git 镜像存储库不显示提交和文件

问题描述 投票:0回答:1

我克隆了一个存储库两次,一次使用正常模式,一次使用

--mirror
标志:

$ git clone https://gitlab.com/abc.git
$ cp abc.git abc_normal.git
$ rm -rf abc.git

$ git clone --mirror https://gitlab.com/abc.git
$ cp abc.git abc_mirror.git

为什么我在普通仓库的镜像中只能看到一些文件,而我在普通仓库中可以看到所有文件?

abc_normal.git $ git show ${file_or_commit_hash}
<file/commit content>

abc_mirror.git $ git show ${file_or_commit_hash}
fatal: bad object ${file_hash}

我可以在镜像和普通存储库中使用上面相同的命令看到一些文件。

我以为我能够看到镜像存储库以及普通存储库中的所有提交和文件哈希,但事实似乎并非如此。感谢您的任何见解!

git hash show mirror
1个回答
0
投票

镜像存储库不包含原始存储库的工作文件,仅包含 git 文件,以便在需要时重现工作文件。

镜像不用于工作,但应该在没有 --mirror 的情况下克隆:“$ git clone

现在可以查看新克隆中的所有工作文件。

通过执行 $ git log ,提交日志应该在镜像中可见

© www.soinside.com 2019 - 2024. All rights reserved.