小程序三方平台开发: 解析小程序开发的未来趋势和机遇
665
2022-10-13
【Git】——初识Git
前提
之前小编的公司一直使用svn,在Git的使用上还是比较生疏的。但是现在Git的发展越来越好,在加上开源的火热,小编忍不住了!
提个问题—— Git.equals(GitHub)?
没错,这个问题小编曾一直搞不懂,直到小编真正深入的开始使用Git,加入GitHub,以及码云相关开源社区。
Git
Git是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本管理。也被圈内称为目前世界上最先进的分布式版本控制系统!
GitHub
GitHub是为开发者提供Git仓库的托管服务,除了托管服务,还能帮助团队提供一系列功能,帮助团队高效,高品质地进行代码编写。GitHub为开源世界带来的是社会化编程的概念。伴随着开源项目的出现,世界上的任何人都可以更加容易获取代码,平等的拥有更改源代码的权利。
码云
码云和GitHub的功能基本类似,是国内为开发者提供Git仓库的托管服务。在国内网络不稳定的时候,码云对开发者同样是极好的选择。
Git诞生
最初Git是为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。尤其在GitHub网站上线后,为开源项目免费提供Git存储,无数开源项目迁移至GitHub,于是Git迅速成为最流行的分布式控制系统。
使用Git不一定就要使用GitHub啊!公司或者个人可以根据自己需要搭建Git服务器,独自进行版本控制管理。
集中式VS分布式
CVS和SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,两者区别是什么呢?
集中式
单一的集中管理的服务器,版本库是集中放到中央服务器,保存所有文件的修订版本。协同工作通过客户端连到中央服务器拉取最新的代码,然后进行提交更新。
优点:就会在一定程度上可以看到项目中其他人正在做什么,而管理员可以掌握每个开发者的权限。
不足之处:
1、集中式服务器必须联网才可以工作,局域网内拉取和上传速度还比较快,但是在互联网上网络不给力的话,那就是漫长的等待。
2、如果中央服务器单点故障,那么会影响协同工作的进行。当数据没有备份,而磁盘又发生了损坏,那么整个项目变更历史将全部丢失。
分布式
分布式版本控制系统本质上没有“中央服务器”,每个电脑上都是一个完整的版本库。客户端在拉取最新版本的时候,并不是仅提取最新版本的快照文件,而是把代码仓库完整地镜像克隆下来。为了减少克隆时,个人机器可能会出现的故障,设置“中央服务器”作用仅仅是方便交换大家的修改。
优点:
当协同开发时不会再因为中央服务器的宕机而影响开发进行,而且事后可以用任何一个镜像出来的本地仓库恢复。
Git和其他版本控制系统主要差别是Git对待数据方式。
大部分版本控制系统是以文件变更列表的方式存储信息,可以看做是一组基于文件和每个文件随时间逐步累积的差异。
GIt是直接记录快照,而非差异比较
Git把数据看作是小型文件系统的一组快照。每次提交更新,或者在Git中保存项目状态时,会对当时全部文件做一个快照并保存快照索引,为了高效没有修改的文件,Git不再重新存储该文件,只是保留一个链接指向之前存储文件。
因为Git是克隆完整的仓库,所以Git绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。因为本地有完整的项目历史,所以很多操作非常方便!
总结
Git优点非常多,开发效率高,团队协作方便,非常值得使用的工具!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~