对于所有版本控制系统,项目文件都位于远程服务器上,当您在本地计算机上完成工作时,可以将文件推送到远程服务器上。但是,决定使用集中版本控制系统(如SVN)还是分布式版本控制系统(如Git)将影响提交更改的方式。
SVN
SVN也被称为Subversion,它代表了市场上最流行的集中版本控制系统。在中央系统中,所有文件和历史数据都存储在中央服务器上,开发人员直接将其更改提交到中央服务器存储库。
SVN工作由三部分组成:
- Trunk:主干,当前稳定的代码和产品的中心。
- Branches:分支,存放新代码和功能的地方。
- Tags:标签,被视为给定时间点上分支的副本。标签不会在开发期间使用,而是在分支代码完成后的部署期间使用。用标签标记代码可以方便地查看代码,如果有必要,还可以回滚代码。
这个过程看起来是这样的:开发一个新的功能,首先获取主干的精确副本并将其放入分支区域内的新文件夹中,然后进行功能的开发,功能开发完成后,合并回主干。
Git
与SVN不同,Git使用多个仓库:一个中央仓库和一系列本地仓库。本地仓库是中央仓库的精确副本,包含整个更改历史。
Git的工作流程这里不作过多的赘述,大家有机会可以看看Git-Flow。Git的优点如下:
- 提交速度更快。在SVN中,本地的修改可能会频繁地提交到中央仓库中,因此网络流量会降低每个人的速度,相比之下,使用Git,主要是在本地仓库上工作,只需要每隔一段时间才会提交到中央仓库。
- 没有更多的单点故障。使用SVN,如果中央存储库出现故障或某些代码破坏了构建,那么在修复中央仓库之前,其他开发人员都无法提交其代码。而使用Git,每个开发人员都有自己的本地仓库,因此中央仓库是否损坏都没有关系。
- 可以离线使用。与SVN不同,Git可以离线使用,从而使您的团队在没有网络的情况下继续工作而不会丢失功能。
结束语
SVN也好,Git也罢,它们都能解决我们工作中出现的一些实际问题,至于更倾向于哪种?我的答案当然是Git,毕竟有事没事需要到GitHub上溜达下。那么你的答案呢?
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。