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

时间:2014-06-02 02:47:48

标签: git

今天早上我对Linux源代码进行了浅层克隆

git clone --depth 1 https://github.com/torvalds/linux.git

导致linux文件夹为851Mb。

现在我想提取最新的更改,但

git pull

启动了一个非常大的下载。在60Mb之后,我在3%时推断为2Gb。但是,自我克隆以来的5次提交只改变了一堆行。

我做错了吗? git尝试下载的2Gb是什么?

2 个答案:

答案 0 :(得分:45)

我认为您也可以在--depth 1中使用git pull,因此它可以获得存储库中最新提交所需的内容。

我不知道默认行为是否会丢失所有内容,因为我的git help pull显示了此选项:

git pull --unshallow

git fetch  --unshallow
  

- unshallow              将浅存储库转换为完整存储库,消除浅存储库施加的所有限制。

我正在运行git version 1.8.5.2 (Apple Git-48),也许这是一些新的行为,并且在版本之间有所改变。

答案 1 :(得分:6)

任何新提交都可以是指向树中不存在的提交的merge-commit吗?也许--depth 1000可以更好地工作并且仍然足够小。