zoukankan      html  css  js  c++  java
  • git和svn的区别

    1 集中式和分布式

    集中式是指只有一个远程版本库,而分布式有本地和远程版本库。

    方便性:SVN是集中式版本控制系统,版本库是集中放在中央服务器的,拉代码的时候需要联网从中央服务器哪里得到最新的版本,提交代码也同样。集中式版本控制系统是必须联网才能工作;Git是分布式版本控制系统,它没有中央服务器的,每个人的电脑就是一个完整的版本库。工作的时候就不需要联网了,因为每个人的电脑都有一个完整的版本库。如果没有网络仍然能够提交文件,查看历史版本记录,创建项目分支;

    安全性:对于svn来说,如果存储远程版本库的服务器挂了,所有人的代码都无法提交,甚至丢失版本库。而git则因为有本地版本库而不会有这个问题。

    2 GIT把内容按元数据(中介数据,描述数据的数据)方式存储,而SVN是按文件

    3 版本号

    svn有全局的版本号,而git没有。svn有明确的版本号,git对于每一个版本,都通过SHA1算法生成一个唯一标示的码,方便追溯到之前的版本。

    4 版本控制

    git和svn是通过.git和.svn文件,.git只是在本地的版本库的目录下存在,而.svn存在于每一个文件夹,当我们不需要版本控制的时候,要删除.svn很费时。

    5 分支

    分支(branch)的使用范围不一样。Git中,你只能针对整个仓库作branch,而且一旦删除,便无法恢复。而SVN中,branch可以针对任何子目录,它本质上是一个拷贝操作。所以,可以建立非常多、层次性的branch,并且,在不需要时将其删除,而以后需要时只要checkout老的SVN版本就可以了。

    6 权限

    权限管理策略不同。Git没有严格的权限管理控制,只要有帐号,就可以导出、导入代码,甚至执行回退操作。SVN则有严格的权限管理,可以按组、按个人进行针对某个子目录的权限控制。区分读、写权限。更严格的,不支持回退操作。保证代码永远可以追踪。

  • 相关阅读:
    C. Chessboard( Educational Codeforces Round 41 (Rated for Div. 2))
    B. Lecture Sleep( Educational Codeforces Round 41 (Rated for Div. 2))
    51Nod 1256 乘法逆元(扩展欧几里得)
    C
    B
    9.13 web基础知识
    web基础知识
    9.11 web基础知识
    9.10 web基础知识
    web 基础知识
  • 原文地址:https://www.cnblogs.com/xjy20170907/p/12870999.html
Copyright © 2011-2022 走看看