git和svn的详细对比
Posted 跪着行走的boY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git和svn的详细对比相关的知识,希望对你有一定的参考价值。
版本工具 |
svn |
git |
系统 |
1.集中式版本控制系统(更适用于项目文档管理) 2.svn适合企业内部由项目经理统一协调的多个并行项目开发 |
1.分布式系统(仅适用于代码管理) 2.适用于通过Internet开源项目开发 |
灵活性 |
1.如果svn的服务器出现故障,开发就无法工作 |
1.可以单机操作,服务器故障也可以在本地工作 |
安全性 |
安全性行较差,只能定期备份并且是整个svn都得备份 |
安全性较高,每个开发者的本地就是一套完整版本库,记录着版本库的所有信息(gitlab集成了备份功能) |
分支方面 |
1.在svn中分支更像是版本库的另一个目录 |
1.只能针对整个仓库进行branch,一旦删除无法恢复 |
版本控制 |
1.svn直观性文件内容的具体差异,会保存前后变化的差异数据 |
1.git只关心文件数据的整体发生变化,更像是把文件做快照,文件没有变化时,git不会再次保存,只是对上次保存的快照做链接 |
工作流程 |
1.每次更改文件之前都得update操作,有的时候修改过程中这个文件有更新,commit不成功 |
1.每天开始工作前pull整个工程,然后开始工作,下班或者测试前提交,也会有冲突 |
内容管理 |
svn对中文支持好,操作简单,适用于大众 |
对程序的源代码管理方便,代码库占用的空间少,易于分支化管理 |
学习成本 |
1.适用于普通的开发团队,使用起来更方便,成本较低 |
1.适用于开发者,水平高,更在乎效率而不是易用性,成本较高 |
权限管理 |
svn的权限管理相当严格,可以按组、个人针对某个子目录的权限控制 |
git没有严格的权限管理控制,只有账号角色划分 |
协作 |
不能与git协作,不兼容git |
git-svn可以跟svn库进行交互,然后尽可能的在本地操作,可以兼容svn |
以上是关于git和svn的详细对比的主要内容,如果未能解决你的问题,请参考以下文章