git和svn有什么区别?

svn:

系统特点:

  1).集中式版本控制系统(存在一个中央版本库,所有开发人员所使用的代码都是来源于版本库,提交代码也是这个中央版本库)

  2).企业内部并行集中开发

  3).windows系统上开发推荐使用

  4).克隆一个拥有一万个提交(commit)

  5).五个分支,每个分支有大约1500个文件,用时将近一个小时

版本控制:

1)保存前后变化的差异数据,作为版本控制

2)版本控制,每次都会产生一个高版本(svn的全局版本号,这是svn一个较大的特点,git是hash值)

工作流程:

  1)每次更改文件都得update操作,有的时候修改过程中这个文件有更新,commit不会成功

  2)有冲突,会打断提交动作(冲突解析是一个提交速度的竞赛额竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决)

  内存管理:svn读中文支持好,操作简单,适合于大众

git

系统特点:

  1).分布式系统(也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,你仍然能够提交文件,查看历史版本记录,创建项 目分支等。)

  2).开源项目开发

  3).mac,Linux系统上开发推荐使用

  4).克隆一个拥有将近一万个提交(commit),五个分支,每个分支有大约1500个文件,用时1分钟

版本控制:

1.git只关心文件数据的整体发生变化,更像是把文件做快照,文件没有改变时,分支只想这个文件的指针不会改变,文件发生改变,指针指向新版本
2. 40 位长的哈希值作为版本号,没有先后之分

3.git rebase操作可以更好的保持提交记录的整洁

工作流程:

  1.开始工作前进行fetch操作,完成开发工作后push操作,有冲突解决冲突
  2.git的提交过程不会被打断,有冲突会标记冲突文件

  3.gitflow流程(经典)

管理平台:

  gitlab,github

ps:git的基本操作

本地:  

  1.git init初始化一个本地仓库

  2.git add 文件名  (添加文件到仓库)

  3.git commit -m "这里是注释"(将add的文件添加注释并且提交到代码仓库)

  PS:Git操作区域 Git三个区域:工作区(开发修改代码区域)、暂存区(add提交后)、历史区(保存各个版本区域)(commit后)

  4.git status查看当前仓库状态。会提示哪些文件发生修改,哪些需要add&commit

回退版本:git reset -hard HEAD~5(回退5个版本)

远程:(如果在远程生成了readme,在本地没有,要先pull一下)

  git remote add (将本地仓库提交到远程仓库)

  git push -u origin master(将本地master分支提交到远程的master分支,并关联起来)

  git pull origin master(push前先将远程repository修改pull下来)

转载于:https://www.cnblogs.com/dazhidacheng/p/7478438.html

vivo面试学习3(git和svn的区别)的更多相关文章

  1. 『现学现忘』Git基础 — 2、Git和SVN的区别

    1.Git和SVN的区别 (1)SVN(集中式版本管理系统) 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者 ...

  2. GIT与SVN的区别

    1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯 ...

  3. git与svn的区别-小结一下

    1)Git是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系 统,例如SVN,CVS等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并 ...

  4. git和SVN的区别

    1)Git是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并, ...

  5. git和svn的区别001

    Git和SVN之间的五个基本区别 中文原文地址:http://blog.jobbole.com/31444/ 友情链接git和svn链接2:http://blog.csdn.net/sunboy_20 ...

  6. git 和 svn的区别(转)

    英文原文:5 Fundamental differences between GIT & SVN,编译:外刊IT评论 如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机 ...

  7. 详细透彻解读Git与SVN的区别(集中式VS分布式)

    Git是目前世界上最先进的分布式版本控制系统,其实 Git 跟 SVN一样有自己的集中式版本库或服务器,但是Git 更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect ou ...

  8. Git与SVN的区别(面试常问)

    1.Git是分布式的,而SVN不是分布式的 2.Git把内容按元数据方式存储,而SVN是按文件 3.Git没有一个全局版本号,SVN有,目前为止这是SVN相比Git缺少的最大的一个特征 4.Git的内 ...

  9. GIT和SVN的区别(面试)

    Cit是分布式,而SVN不是分布式 存储内容的时候,Git按元数据方式存储,而SVN是按文件 Git没有一个全局版本号,SVN有,目前为止这是SVN相比Git缺少的最大的一个特征 Git的内容完整性要 ...

随机推荐

  1. Android adb shell启动应用程序的方法

    在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. usage: am [subcommand] [options] start an Activity: ...

  2. 【SpringCloud】第一篇: 服务的注册与发现(Eureka)

    前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...

  3. CCF-NOIP-2018 提高组(复赛) 模拟试题(七)

    T1 Adjoin [问题描述] 定义一种合法的\(0-1\)串:串中任何一个数字都与\(1\)相邻.例如长度为$ 3 的 0-1 $串中,\(101\)是非法的,因为两边的\(1\)没有相邻的\(1 ...

  4. Mybatis学习系列(三)动态SQL

    在mapper配置文件中,有时需要根据查询条件选择不同的SQL语句,或者将一些使用频率高的SQL语句单独配置,在需要使用的地方引用.Mybatis的一个特性:动态SQL,来解决这个问题. mybati ...

  5. Win7/8, convert dynamic disk volume to basic volume.

    之前不小心用了Win8自带的Disk Management 来调整磁盘分区的大小,当时跳出来一个warning窗口,说如果继续操作会变成dynamic disk,然后xxxx. 我心想都是Window ...

  6. idea 控制台中文乱码

    idea 控制台中文乱码,网上找了好多基本都是说在tomcat配置文件里面添加-Dfile.encoding=UTF-8 添加后依然乱码, 需要在idea64.exe.vmoptions文件中添加-D ...

  7. Jira & filter & subscribe & issues

    Jira & filter & subscribe & issues https://confluence.atlassian.com/search/?query=subscr ...

  8. 利用 spring 的 task:scheduled-tasks 执行定期任务

    ref是工作类 method是工作类中要执行的方法 initial-delay是任务第一次被调用前的延时,单位毫秒 fixed-delay是上一个调用完成后再次调用的延时 fixed-rate是上一个 ...

  9. 在虚拟机安装 Linux 系统(菜鸡级别)

    处理器数量看个人 剩下按照推荐的配置选择就OK 启动客户端 -> Enter进入 /为其它盘./Boot为根目录 可不勾选

  10. 【版本控制】VisualSVN Server更改SVN版本库存放路径的方法

    最近也玩起了SVN软件版本管理,在本机上安装了VisualSVN Server+TortoiseSVN,感觉还不错吧.但是,版本库存在哪里呢?在安装VisualSVN Server时,已经默认设置了, ...