传统的版本控制软件,都是集中式进行管理。所有的代码都存在服务器上,大家想要代码,就从服务器中下载。而要贡献代码,就直接从本地上传到服务器上,进行覆盖。
而“代码仓库”则使用了分布式的版本控制,每一个开发者的电脑上都有一个服务器的数据库拷贝,他们可以在本地创建分支版本,并且在本地提交上去,和服务器上的版本进行同步。
而主要的开发者可以根据他们的分支,对这些代码进行对比和审核,最终确定是否将这个分支和主版本进行合并覆盖。
当然,如果其他开发者发现了主版本中的代码bug。则可以在本地制作补丁,然后将补丁发送给主开发者,让其决定是否将其应用到公共服务器上。
这样,利用这种方式,很好地解决了之前集中式版本控制的各种弊端。极大地提高了不在同一个地方的开发者相互进行协同开发的效率。
除此之外,代码仓库还具备即时沟通功能和日志备忘沟通功能,团队合作者可以在自己的团队聊天室中进行即时沟通,也可以直接提交团队日志进行延迟沟通,项目负责人还可以将任务直接指派给团队中的成员,让其专门负责某一个功能的开发。
总之。“代码仓库”的编写初衷,就是为了让全世界各地的开发者,能够更好地为linx贡献代码,更方便更有效率进行比较分散的团队协作开发。
代码仓库开源之后,立刻引起了开源业界的关注。
这个软件,相比起现在主流的那些版本控制软件来,简直就是一个神器,几乎解决所有已经存在的各种令人头疼的难题,让开发人员可以将精力全部放到开发上,而不是为了解决这些问题而伤透脑筋。
“代码仓库”刚开始还只是在linx的开发者群体中流传,可是它实在是太优秀太实用了,这些开发者们在习惯了代码仓库的便利性自后,实在无法忍受自己公司或者其他开源项目所使用的那些版本控制软件,强烈要求这些项目负责人进行软件升级,将版本控制软件更换成“代码仓库”。
在互联网上,信息的传播速度比任何传统媒体都要迅速,在网络兴起之后,有人就说过,互联网将整个地球变成了一个村子。
代码仓库对外发布并且开源之后,立刻在业内引起了轰动,甚至远远超过了linx系统本身开源这一事件。
linux创始人linus首先做出反应,他在linx的开源版本的基础上,进行了一些细节方面的修改,然后退出了针对linux系统开发的版本控制软件,名为git。