使用`--depth 1`克隆存储库后如何获取所有git历史记录?

Posted

技术标签:

【中文标题】使用`--depth 1`克隆存储库后如何获取所有git历史记录?【英文标题】:How to fetch all git history after I clone the repo with `--depth 1`? 【发布时间】:2015-05-29 23:21:44 【问题描述】:

有一个包含数千次提交的大型 repo。我clone的时候只想看最新的代码,别等太久,就跑了:

git clone git://..../... --depth 1

但稍后,我想查看所有历史提交,但我不知道如何获取所有历史。

【问题讨论】:

我很确定没有办法从这个 repo 转到完整版本 - 您很可能需要将整个 repo(包括最新修订版)克隆到一个新副本中才能拥有完整的历史。但是,我不能 100% 确定情况是否如此,所以我将把它留给在这方面有更多知识的人来为您提供更明确的答案。 Convert shallow clone to full clone 的可能重复项 【参考方案1】:

使用git pull --unshallow,它将下载整个提交历史记录。

【讨论】:

【参考方案2】:

或者,您也可以运行git fetch --depth=1000000

【讨论】:

再过几年,如果拉Linux内核,这将不起作用。 :) 也许吧。但是,如果您像我一样因为使用内存不足的旧笔记本电脑而无法提取整个源代码,那么这是一个可行的解决方案。有耐心。

以上是关于使用`--depth 1`克隆存储库后如何获取所有git历史记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何 git-svn 从 Subversion 存储库克隆最后 n 个修订?

使用 --depth 1 克隆后使用 git 拉取更新

关于因为git仓库无法克隆的问题;

从克隆表单元素获取所有 POST

使用SpringCloudConfig进行分布式配置:存储库后端类型

如何克隆 PyPI 存储库并作为本地存储库维护