背景

中国大陆有着特殊的国情,Github 已经无法直接连上,需要借助科学上网的工具。对于中小型 Git 项目,大多时候没有问题,但对于 Unreal Engine 这种体量的项目,一旦出现网络波动(例如:科学上网工具不稳定),很容易就需要从头再来(Git 不支持断点续传)。

解决方案

利用 Git 的 --depth 1,先拉取最新的提交,建立基础的 Git 项目。

1
git clone --depth 1 https://github.com/EpicGames/UnrealEngine.git

(实际其实会用自己仓库下的 Unreal Engine)

假设你有一个自己的开发分支(通常会 fork 项目到自己的仓库中),而这个时候一般只有默认的 release 分支。所以需要拉取对应的分支,假设需要的是 dev 分支:

1
2
git remote set-branches origin dev
git fetch --depth 10 origin dev

这样通过 git branch -a 就可以看到已经有 dev 分支。

如果需要完整提交记录,可以使用 git fetch --unshallow