如何在使用 `--depth 1` 克隆仓库后获取所有 Git 历史记录?

96

有一个拥有数千次提交记录的大型代码库。当我克隆它时,我只想查看最新的代码,而不想等待太久,因此我运行:

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

但是后来,我想查看所有的历史提交记录,但是不知道如何获取所有的历史记录。


我相信没有办法从这个仓库直接获取完整版本 - 你很可能需要将整个仓库,包括最新的修订版本,克隆到一个新的副本中才能获得完整的历史记录。不过,我并不100%确定这是否正确,因此我会留给更了解这个领域的人为你提供更明确的答案。 - JamesG
5
可能是将浅克隆转换为完整克隆的方法的重复。 - Makoto
2个回答

148

使用 git pull --unshallow 命令,它将下载所有提交历史记录。


6
可以使用 'git fetch --unshallow' 命令。 - Bill Cong
2
当我尝试执行以下命令时,看到了这个错误: $ git pull --unshallow 致命错误:在完整的存储库上使用--unshallow没有意义。 - Rich von Lehe

20

另外,你也可以运行git fetch --depth=1000000


12
几年后,如果拉取 Linux 内核的话,这种方式将不再适用。 :) - Qix - MONICA WAS MISTREATED
3
也许吧。但如果你和我一样,因为使用老旧的笔记本电脑而无法拉取整个源代码,那么这是一个可行的解决方案。需要耐心。 - Filkolev

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