我们有一个巨大的多 GB git 存储库,主要是二进制对象。
克隆需要几天时间。
实际的主分支(没有历史记录)只有大约 20MB,所以我认为深度为 1 的 git 克隆是解决方法。
但是,现在我需要将某人的更新拉取到主服务器(我们没有分支),并且当我拉取时,没有深度选项/参数,因此它下载了全部 2GB。
有没有办法只拉master而不拉历史记录?
我是 git noob(我只使用乌龟 git),但我是 SVN、CVS 等专家。
注 1:我们曾经使用 SVN,它没有这样的问题,但我们相当非技术的 IT 总监认为将 git 强加于整个公司会很好,即使是那些主要使用二进制媒体、flash、js 等的公司。
注2:我看到这篇文章:Pull update with git after cloned with --depth 1但我不明白。
当您尝试使用
--depth 1
克隆存储库时,您只会获取最新的提交,而没有任何历史记录。
但是,当您拉取更新时,Git 将获取整个历史记录
因此,您可以将 --depth 1
选项与 git pull
一起使用,仅获取最新提交,而不获取整个历史记录。
这是命令:
git pull --depth 1 origin master
这只会从
master
分支中提取最新提交,而不是整个历史记录