如何在使用“git clone --depth=1”命令后获取完整的git历史记录?

6

有一个我git的仓库非常大,包含了之前提交的大量资源。

然而,我成功地通过 git clone <repo> --depth=1 命令克隆(可运行)该仓库。

我想在本地仓库中获取所有以前提交的内容。

谢谢。

1个回答

13

git pull --unshallow就可以了。

来自(git-scm)

--unshallow

如果源代码库是完整的,则将浅层存储库转换为完整的存储库,删除浅层存储库所施加的所有限制。

如果源代码库是浅层存储库,请尽可能多地提取,以便当前存储库具有与源代码库相同的历史记录。

pull--depth--deepen=--shallow-since也可能相关。

来自(git-scm)

--depth=<depth>

从每个远程分支历史记录的末尾限制提取到指定数量的提交。如果使用 git clone 和 --depth= 选项创建了一个浅存储库(详见 git-clone[1]),则将历史记录加深或缩短到指定数量的提交。不会提取深化提交的标签。

--deepen=<depth>

--depth相似,除了它指定来自当前浅边界而不是来自每个远程分支历史记录的提交数量。

--shallow-since=<date>

将一个浅仓库的历史记录加深或缩短,以包含在<date>之后所有可达的提交记录。git大师@torek指出如下:

请注意,使用--depth克隆的副本默认也是单分支克隆。为了使其成为完整的克隆,您需要撤消这种单分支效果。

如何操作,请参考如何“撤消”单分支克隆?

4
请注意,使用 --depth 参数创建的克隆版本默认情况下也是一个单分支克隆版本。如果要将其变成完整的克隆版本,则需要撤消这个单一分支效应。 - torek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接