国内环境下如何克隆 Apollo 仓库¶
本文档描述了在国内环境下既快又好地克隆Apollo 仓库的方法。
必要前提/准备¶
假设你已经 「fork」 了GitHub上的Apollo 代码库。这可以通过点击GitHub上的 Apollo 页面右上角的「Fork」按钮并遵照随后的提示来完成。
首先,从码云上克隆 Apollo 仓库¶
码云上的 Apollo仓库 通常比GitHub上的 Apollo仓库 更新晚一天。
我们可以以它为起点,克隆码云上的Apollo 仓库。
执行命令:
git clone https://gitee.com/ApolloAuto/apollo.git
这一步通常很快,只需十数分钟。在本文作者所在的百度内部,下载速度可达 10 多 MiB/s,终端输出如下:
Cloning into 'apollo'...
remote: Enumerating objects: 313277, done.
remote: Counting objects: 100% (313277/313277), done.
remote: Compressing objects: 100% (66199/66199), done.
remote: Total 313277 (delta 245822), reused 310653 (delta 243198), pack-reused 0
Receiving objects: 100% (313277/313277), 2.19 GiB | 11.10 MiB/s, done.
Resolving deltas: 100% (245822/245822), done.
Checking out files: 100% (9124/9124), done.
注意: 以下步骤可选。
重置远程分支origin¶
上述步骤完成后,就可以「过河拆桥」,将远程分支 origin 重置为你刚 「fork」的GitHub 分支。
git remote set-url origin git@github.com:<你的GitHub 用户名>/apollo.git
将 GitHub 上的 Apollo 仓库设为远程分支upstream¶
# 采用SSH的方式
git remote add upstream git@github.com:ApolloAuto/apollo.git
# 采用HTTPS的方式
git remote add upstream https://github.com/ApolloAuto/apollo.git
你可以运行如下命令来确认远程分支 origin 和 upstream 已被正确设置:
git remote -v
如果之前的操作正确,它将列出如下的远端分支:
origin git@github.com:<你的GitHub 用户名>/apollo.git (fetch)
origin git@github.com:<你的GitHub 用户名>/apollo.git (push)
upstream git@github.com:ApolloAuto/apollo.git (fetch)
upstream git@github.com:ApolloAuto/apollo.git (push)
现在,从 GitHub 远程分支upstream 拉取最新的「增量」代码¶
git pull --rebase upstream master
如果遇到问题,你可以参考这篇文档:国内环境拉取GitHub仓库慢的缓解方案.
结语¶
恭喜你成功地克隆了 Apollo Gitee/GitHub 仓库,并由此开启你的 Apollo 自动驾驶之旅!