如何在“git clone --depth=1”之后获得整个git历史?

Raj*_*ary 0 git git-commit

我的一个 git repo 很大,包含以前提交的大量资产。

不知何故,我能够使用git clone <repo> --depth=1.

我想在同一个本地仓库上获得所有以前的提交。

谢谢你。

tym*_*tam 8

git pull --unshallow 应该这样做。

来自 ( git-scm )

--unshallow

如果源存储库是完整的,则将浅存储库转换为 > 完整存储库,从而消除浅存储库强加的所有限制。

如果源存储库较浅,则尽可能多地获取,以便 >current 存储库与源存储库具有相同的历史记录。

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

来自 ( git-scm )

--depth=<depth>

限制从每个远程分支历史记录的尖端获取指定数量的提交。如果使用 --depth= 选项(请参阅 git-clone[1])获取到由 git clone 创建的浅存储库,则将历史记录加深或缩短到指定的提交次数。不会获取深化提交的标签。

--deepen=<depth>

与 类似--depth,不同之处在于它指定了来自 >current 浅边界而不是来自每个远程分支历史记录的尖端的提交次数。

--shallow-since=<date>

加深或缩短浅层存储库的历史记录,以包括<date>.


git 大师@torek 指出以下几点:

请注意,默认情况下,使用 --depth 制作的克隆也是单分支克隆。要使其成为完整克隆,您需要撤消此单个分支效果。

如何操作显示在如何“撤消” --single-branch 克隆?.

  • 请注意,默认情况下,使用“--深度”创建的克隆也是*单分支*克隆。要使其成为完整克隆,您需要撤消此单分支效果。 (3认同)