分布式 VS 集中式
1. 集中式 VS 分布式
集中式的SVN
分布式的 Git
Git 是分布式版本控制系统,SVN 是集中式版本控制系统,这是两者最大的区别。对于 SVN 来说,只有服务端存储着仓库中所有的提交历史,对于 Git 而言,任何一个客户端仓库都存储了仓库的所有提交历史。当出现单点故障时,对于 SVN 来说就是毁灭性打击,几乎所有的提交历史等信息全部丢失,因为只有服务器存储了所有的历史提交,对于 Git 来说,几乎所有的仓库信息都丢失不了,因为它可以用任一客户端进行恢复,因为任一客户端都记录了仓库的所有信息。
2. 强大的分支功能
- Git :由于
Git
的巧妙设计,无论项目有多大,Git
创建和切换分支都能在瞬间完成。 - SVN:
SVN
创建分支,相当于对整个项目的复制,如果项目比较大,复制时间比较长。
3. 修正提交
- Git : 对于提交说明有错别字或者其他错误的情况,
Git
可以很轻松的修改提交内容。 - SVN:也可以修改提交内容,但是比较麻烦,可能需要管理员支持。
4. 无尽的后悔药
- Git : 可以在任何场景,任何情况下进行撤销操作
- SVN:提交之后的内容,几乎不能进行撤销或者需要管理员支持,比较麻烦。
5. 快
- Git : 基本都是在本地操作,速度非常快
- SVN:需要联网,网络不佳的情况下,速度没保证。
6. 无需联网查看日志
- Git:本地包含了完整的日志,查看日志无需联网,快如闪电
- SVN: 需要从服务器上进行拉取,需要联网,速度较慢