自 2013 年 5 月 27 日 码云正式发布到今天,码云已经四岁啦,生日快乐!
最近遇到一个场景,客户希望自己在多个地区的开发科室能够共用一套Git系统,但是由于跨地区的原因,带宽是这种使用场景的唯一障碍,增量的更新还勉强可以接受,但是如果需要全量Clone一个上G的仓库,那将会非常非常慢。限于有限的开发资源和众多的客户需求,于是思考了下可以通过配置以及少量的开发即可实现简单的异地多中心方案。
经常会有一些公有云的客户问有什么办法把本地的仓库批量上传到 Gitee,如果仓库量少,可通过导入功能导入,但如果仓库量很大,一般没什么办法,只能告诉用户有Api,可以通过Api批量创建,这种工作,作为平台,应该提供这种能力,所以上周六看到客户群里又有人问,就开始启动这个小项目了,上周六完成了仓库的创建相关,今天完成了代码同步以及并发的支持。
本次更新发布应呼声,支持选择上传到 Gitee 组织,支持创建组织,并上传仓库到创建的组织,支持镜像 Github 空间(个人或组织)到 Gitee 的组织或个人空间下。
众所周知,Git 是当前最流行的分布式版本控制系统,近两年由于 DevOps 的迅速发展,一切皆代码正在成为标准实践。而这一切,都需要有一个配置管理中心统一管控,Git 毫无疑问的成为了这个领域的宠儿。日常开发工作中,我们经常用不同方式去下载和上传代码到 Gitee,那么这背后是如何实现的呢,让我们一起来聊聊 Git 不同的传输协议以及具体的实现。
Git 是目前最流行的版本控制系统,从本地开发到生产部署,我们每天都在使用 Git 进行我们的版本控制,除了日常使用的命令之外,如果想要对 Git 有更深一步的了解,那么研究下 Git 的底层存储原理将会对理解 Git 及其使用非常有帮助,就算你不是一个 Git 开发者,也推荐你了解下 Git 的底层原理,你会对 Git 的强大有一个全新的认识,并且将会在日常的 Git 使用过程中更加得心应手。
码云 Gitee 自2013年推出以来,每年的数据量都是倍增的,截止到2021年3月份,Gitee 上已经有了600万+的开发者,超1500万的仓库,成为了国内首屈一指的研发协作平台。在数据日益增长的过程中,Gitee 的架构也是经过了数个迭代,才能支撑起目前的数据量级。我曾在不少的大会上分享过 Gitee 的架构,也和很多有类似场景的同学一起讨论过,偶然被问起有没有专门的文章来介绍 Gitee 架构的,所以难得假期有时间,将此主题整理成文,以供大家参阅。
无意翻出这篇写于两年前的手稿,当时交付的几家私有云大客户以及公有云客户均频繁遇到此问题,虽然现象千奇百怪,但是无非是错误的操作导致的代码丢失,秉承着开放、自由、分享的开源精神,把相关的错误操作整理出来并加以说明,对于新老用户都是一种引导,不仅可以避免给团队带来麻烦,也使自己能够更好的理解 Git 的一些运作方式,所以整理成文,希望能够帮助到有需要的人,尤其是公司内部研发流程的培训上,更应该关注这一类误操作的普及和说明,避免「不了解」给团队带来的麻烦。