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手机那么好,为什么还有人用三星?"类似的问题, 合适的才是最好的。
  • 相关阅读:
    什么是 bean 的自动装配?
    什么是 Spring 的内部 bean?
    什么是 Spring 的 MVC 框架?
    Spring AOP and AspectJ AOP 有什么区别?
    解释 JDBC 抽象和 DAO 模块?
    volatile 类型变量提供什么保证?
    一个 Spring Bean 定义 包含什么?
    什么是 Spring MVC 框架的控制器?
    使用 Spring 访问 Hibernate 的方法有哪些?
    什么是 Callable 和 Future?
  • 原文地址:https://www.cnblogs.com/myinspire/p/7273539.html
Copyright © 2011-2022 走看看