为什么要利用 GIT 搭建自己的代码托管中心

为什么要利用 GIT 搭建自己的代码托管中心

独立的代码托管方案

为什么要自建

长期以来,大家都习惯用 Github、Gitlab、Gitee 等第三方方案来托管代码,若有喜欢的会点击 Star 作为收藏,也可以点击 Fork 来启动一个分支。

但有一个问题:无论 Star 还是 Fork,都无法满足想定时同步的需求。

为什么要自动同步

假设:

  1. Gitxxx 不再支持对大陆的用户了(例如 伊朗);
  2. 喜欢的 Repo 突然被 Gitxxx(或用户自己)删除了;
  3. 或 Github 哪一天忽然不能访问了(例如「倒闭」);
  4. 希望自己的项目,能托管在本地,更加私密;
  5. 高级功能。

你会发现 Star 失去了「收藏作用」,而 Fork 也只能保留很久之前的版本(能访问的话)。

所以,我需要一个能:

  1. 脱离 Gitxxx 平台的独立「收藏」;
  2. 收藏后,能把完整的代码下载到本地;
  3. 后续,能定时同步「原项目」更新的部分;
  4. 大陆的 访问、Clone 要足够快速。

怎么搭建

  1. 底层使用:优秀的 Gitea作为底层基础;
  2. 通过二次开发将 Github、Gitlab、Bitbucket 的流量从自己购买的专用骨干网经过,从而获得加速效果;
  3. 其他的流量转发方案也可以看:依云的blog中提到的方法

效果如何

  1. 目前托管了 706 个项目,其中 700 个自动同步的镜像项目(高级功能),共占用 140G 空间;
  2. 自己服务器的 Clone 全部可以来自于它,并且可走内网;
  3. 依托于 Gitea 的强大功能,可以实现代码搜索(高级功能);

结论

优势:

  1. 不用再担心 Gitxxx 太慢了;
  2. 所有 Repo 定时自动同步到本地,不用再担心喜欢的库异的任何常消失了;
  3. 自己的项目运行在自己的平台内,安全感更高。

劣势:

  1. 成本较高:高性能服务器、专用稳定的跨区域加速网络;
  2. 比较麻烦:需要自己搭建、自己维护、自己定制、自己优化;

效果:

Git
No rights reserved
Except where otherwise noted, content on this page is not copyrighted and is free to use.