git clone --reference用法

git clone --reference test/ git@tianyu.src.net:tom/xx.git test2/

请问下这里的--reference具体有什么作用呢?  看man git-clone意思就是当clone的时候,不用从网络上拉取object了,但是前提是本地也得有这个对应的仓库。

但是事实上我们clone的时候,都会直接把这个仓库全部clone到本地。

那么这里--reference这个参数还有什么意义呢?
阅读 10.8k
2 个回答

--reference 能加快你的clone速度,如果本地库test/后面有同样的文件对象, 会从本地库test/里面获取,而不是全部从远程的git@tianyu.src.net:tom/xx.git获取。

如果团队开发一个项目,项目服务器在远程,项目文件可能很大,如几十G, 这时候在本地共享存储上建一个reference 做为cache, 大家从里更新会缩短至秒级。reference库不需要和远程库完全一致,你可以时不时(cron)地更新一下这个reference库,这样做为缓存,在给测试机器人用或ci集成等等,都会快很多.

但是这样也只需要clone一次吧,尽管是ci集成什么的,也只需要clone一次,后续只要pull即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进