Git 与 SVN区别
来源:互联网 发布:mac qq 远程桌面 编辑:程序博客网 时间:2024/04/30 11:55
1. Git是分布式的,SVN是集中式的,好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;
2. Git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要联网;
3. Git鼓励分Branch,而SVN,说实话,我用Branch的次数还挺少的,SVN自带的Branch merge我还真没用过,有merge时用的是Beyond Compare工具合并后再Commit的;
4. Tortoise也有出Git版本,真是好东西;
5. SVN在Commit前,我们都建议是先Update一下,跟本地的代码编译没问题,并确保开发的功能正常后再提交,这样其实挺麻烦的,有好几次同事没有先Updata,就
Commit了,发生了一些错误,耽误了大家时间,Git可能这种情况会少些。
大家也可以搜一搜Git和SVN命令的比对。
下面有一篇文章这样讨论,楼主认为SVN没什么用,我比较认同Ghoststears的观点。
有了GIT,SVN纯粹一垃圾
Ghoststears:
任何事情,归根结底都是人的问题,工具只是工具。
SVN 是集中式的,会出现你说的耦合。但从另外一个方面来说,这也要求开发人员代码的规范:不要一个函数干很多事情,不要一个文件写很多个类。
另外,将不可运行的代码提交到任何版本控制系统中都是没有意义的。这也就是版本控制的核心思想之一。也就是提交的粒度:原子性。所谓的原子性,也就是完成一件任务,这个任务可以是一个函数声明,也可以是一个函数的实现,亦或是一个子系统。但这个任务的完成的标志就是代码可以运行,不能运行的代码,最多也就是完成了半个任务。这个是不符合版本控制思想的。试想,你 update 到某一个 version 的时候,代码竟然是不能运行的,是何心情???
将不能运行的代码提交,完全是开发人员素质或者公司管理流程、机制的问题。
另外,很多人都强调:我晚上下班了要在家里干活,不能提交!!!来抨击集中式版本控制工具。且不说对待工作和生活态度。先看看国内的企业,防员工如防贼的多的去了。有多少人能带着笔记本,把公司的源代码签出来呢???
版本控制系统中,工具只是其中一环。要结合公司的策略来选用合适的工具。版本控制 != 版本控制工具 !!!= 源代码管理。
最后,人各有喜好。上纲上线的,完全没有必要。
- git与svn区别
- git与svn区别
- Git 与 SVN区别
- SVN与GIT区别
- svn与git区别
- Git 与 SVN 区别
- Git与SVN区别
- SVN与Git区别
- Git 与 SVN 区别
- SVN与Git区别
- svn与git区别
- SVN与Git区别
- SVN与Git的区别
- Git与svn的区别
- Git与svn的区别
- git与SVN的区别
- git与svn的区别
- Svn与Git的区别
- 记录日常遇到的bug君
- C++primer plus第六版课后编程练习答案5.8
- Struts2学习笔记1
- Android的各种Drawable讲解
- spring Jdbc自动获取主键。
- Git 与 SVN区别
- git常用命令
- 负载均衡之Haproxy配置详解(及httpd配置)
- Android开发艺术探索学习-View的基本知识
- caffe运行时的bug
- [Android]ListView中包含Checkbox,ToggleButton时Checked状态丢失的问题解决
- jquery拼接字符串效率比较高的方法
- Dialog-自定义实现
- 电子签章 作废单据