合并操作时对提交过程的保留

  • git:合并操作保留原有的提交过程

  • svn:多个提交合并为一个提交

  • 不用因为合并操作而导致追踪的困难

修正提交

  • git:可以修正提交。
    使用功能分支工作流,在自己的分支可以方便修正提交而不会影响大家。

  • svn:一旦提交就到服务器上,实际使用中就是不能修改
    (svn可以在服务器上修改,因为过程复杂需要权限实际上从不会这样做)

本地分支

  • git可以方便的创建本地分支,创建时间极短,分支可以是本地的,不会存在svn中目录权限的问题

强大的合并能力

  • git:重命名(无论文件还有目录)提交 可以合并上 文件重命名前的这些文件的提交

  • svn:重命名(无论文件还有目录)提交后,你本地/或是分支上 有文件重命名前的这些文件的修改或提交,在做合并操作时,你会碰上传说中难搞的树冲突

  • 这就导致在调整目录名称和类名调整的时候比较繁琐,需要告诉大家,我修改完以后你再修改

tag的支持

  • svn在模型上是没有分支和tag的。tag是通过目录权限限制(对开发只读)来保证不变。

  • git模型上一等公民支持tag,保证只读。

速度优势

  • git的提交是个本地提交,相对svn来说如闪电一般

  • git提供了暂存区,可以方便制定提交内容,而不是全部内容

日志查看

  • git:本地包含了完整的日志,闪电的速度(并且无需网络)

  • svn:需要从服务拉取。

  • 一旦用了git后,等待svn日志过程简直让我发狂

如果文章对你有帮助,请去我的个人博客留个言吧! 我的博客


maochunguang
317 声望14 粉丝

爱编程,爱折腾,成为真正的极客,真正的coder!