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. P1107 最大整数

    P1107 最大整数 题目描述 设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数. 例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 3433 ...

  2. 关闭 Identity 插入限制

    当为identity列插入时会报错: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'xx'中的标识列指定显式值. 但在复制表数据时想带主键一起复制时,这时要设置IDEN ...

  3. Qt 在控件上面绘图 label,pushbutton。。。。。

    最近有点时间,就研究研究Qt ,提升一下自己 我记得我在刚开始学习Qt 的时候,想要在一个控件上面绘制图形,那就要构建一个新类来调用该控件的绘图函数 今天看到了狗哥的学习博客,感觉自己好渺小啊,按照狗 ...

  4. bugku 字符正则

    字符?正则? <?php highlight_file('2.php'); $key='KEY{********************************}'; $IM= preg_mat ...

  5. 2015年开源前端框架盘点TOP20

    2015年,榜单根据github上star数作为排名依据.(榜单中大部分为组件式框架, react.Angular等基础框架不在此篇讨论) 1.Bootstrap 类别/语言:HTML.CSS.Jav ...

  6. [译]在Python中如何使用额enumerate 和 zip 来迭代两个列表和它们的index?

    enumerate - 迭代一个列表的index和item <Python Cookbook>(Recipe 4.4)描述了如何使用enumerate迭代item和index. 例子如下: ...

  7. chrome谷歌浏览器导致的密码被修改现象

    版本 68.0.3440.106(正式版本) (32 位)记住密码功能有个缺陷,会把自己的密码自动填写到别人的密码框中,假如这个时候点击保存密码,就会导致其他用户的密码被修改为登录用户的密码.   很 ...

  8. CentOS6.8单独编译安装PHP gd库扩展

    # PHP-GD安装 #在安装之前可以先更新一下yum源,可以使用国内的阿里云源 yum -y install libjpeg-turbo-devel yum -y install freetype- ...

  9. java连接mysql底层封装

    package com.dao.db; import java.sql.Connection; import java.sql.SQLException; /** * 数据库连接层MYSQL * @a ...

  10. javascript中判断变量是否存在的正确方式

    在Javascript中,我们通常判断一个变量是否存在(即不为null或者undefined),往往是这样判断的 if(tomy){ console.log(obj.name); } 这种写法在大部分 ...