今天早上我对Linux源代码进行了浅层克隆
git clone --depth 1 https://github.com/torvalds/linux.git
导致linux
文件夹为851Mb。
现在我想提取最新的更改,但
git pull
启动了一个非常大的下载。在60Mb之后,我在3%时推断为2Gb。但是,自我克隆以来的5次提交只改变了一堆行。
我做错了吗? git
尝试下载的2Gb是什么?
答案 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
可以更好地工作并且仍然足够小。