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. Office Web Apps Server(1)

         Office Web Apps Server runs on one or more servers and provides browser-based Office file viewi ...

  2. android开源项目之OTTO事件总线(二)官方demo解说

    官方demo见  https://github.com/square/otto 注意自己该编译版本为2.3以上,默认的1.6不支持match_parent属性,导致布局文件出错. 另外需要手动添加an ...

  3. Remote X11 GUI for Linux/Unix

    摘自:https://www.redwireservices.com/remote-x11-for-linux-unix The Problem One of my most feared quest ...

  4. MySQL☞where与like

    1.无条件查询语句(查询表中所有数据) select * from 表名 2.查询某些列的数据(指定列) select 列名1,列名2,列名3 from 表名 3.条件查询语句 select 列名1, ...

  5. 第一篇 Charles的配置及相关使用

    // Charles Proxy License // 适用于Charles任意版本的注册码,谁还会想要使用破解版呢. // Charles 4.2目前是最新版,可用.   Registered Na ...

  6. lua敏感词过滤

    --过滤敏感词(如果onlyKnowHas为true,表示只想知道是否存在敏感词,不会返回过滤后的敏感词,比如用户注册的时候,我们程序是只想知道用户取的姓名是否包含敏感词的(这样也能提高效率,检测到有 ...

  7. Java IO学习--输入输出流

    一.Java IO的定义 I/O:输入输出系统,由输入输出控制系统和外围设备两部分组成. Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输 ...

  8. python------- IO 模型

                                                    IO模型介绍                                               ...

  9. Drools 7.4.1.Final参考手册(八) 规则语言参考

    规则语言参考 概述 Drools有一个“本地”的规则语言.这种格式在标点符号上非常轻,并且通过“扩展器”支持自然语言和领域特定的语言,使语言能够变形到您的问题领域.本章主要与本机规则格式一致.用于表示 ...

  10. PostgreSQL 建库建表脚本

    1.创建角色(create_role.sql) drop role if exists "kq_acs";create role "kq_acs" login ...