zoukankan      html  css  js  c++  java
  • 企业中常用的Git和Svn比较。

        • 什么是Git
        Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。  Git的读音为/gɪt/。
         
        Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
         
        • Git VS SVN
            1. Git 是分布式的,SVN 是集中式的

            2. Git 存储的是文件快照,SVN 记录的是文件修改处

            3. Git 没有全局的版本号,SVN 有全局版本号
        • 集中式 VS 分布式

            集中式:

            版本文件存储在中央服务器中,其工作方式是,首先从中央服务器上下载到工作目录,然后在工作目录进行修改,修改之后再提交至中央服务器。

            分布式:

            没有中央服务器,每个电脑都是一个版本库,工作时候不需要从中央服务器上更新下载,多人协助时候只需要将修改的文件相互推送,进行合并。

            对比:

            1. 分布式安全性更高。分布式不存在中央服务器,每个电脑都有完整的版本库,那么就不用担心中央服务器发生文件丢失,而集中式的中央服务器文件丢失比较麻烦。

            2. 分布式更为方便,不需要联网进行工作,而集中式的需要联网才可以将修改的文件推送到中央服务器中,如果文件较大,需要花费大量的时间在文件传输上。
        • 换个角度思考一直以来的争论(既然git这么好,为什么很多公司还在使用svn呢?)
             1.SVN的安全控制和权限管理更好。git 下,如果一个人clone以后,所有代码和历史都泄漏了。而 svn 有细致的按照目录级的权限控制,不开通对应目录的权限无
        法获取到目录下的内容。
             2.GUI工具,svn更加形象化,图形化界面处理更友好。
             3.git 有一定的学习成本,分布式的工作方式,需要转换思维方式
             4.有人总结成"管理用svn,代码用git
                  所以,不要再问"iphone手机那么好,为什么还有人用三星?"类似的问题, 合适的才是最好的。
  • 相关阅读:
    净化心灵的诗歌--《当你老了》
    慎在信号的handler中嵌入复杂的逻辑
    windows远程ssh与scp操作linux
    Java Annotation(Java 注解)
    HTML5实现的类似百度文库,豆丁在线文档阅读
    FreeMarker VS Velocity(freemarker模板引擎和velocity模板引擎比较)
    J2EE牛人或者老的JAVA程序员进来帮忙指点一二,小弟很迷茫_Baidu知道
    模仿Hibernate的逆向工程_java版_源码下载
    Adobe Photoshop CS6_下载_补丁
    lucene in action_index and search
  • 原文地址:https://www.cnblogs.com/myinspire/p/7273539.html
Copyright © 2011-2022 走看看