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. Mac OS下搭建Hadoop + Spark集群

    首先注意版本兼容问题!!!本文采用的是Scala 2.11.8 + Hadoop 2.7.5 + Spark 2.2.0 请在下载Spark时务必看清对应的Scala和Hadoop版本! 一.配置JD ...

  2. FPGA等占空比奇偶分频和半整数分频

    1. 偶数分频比较简单,如果分频系数是N(如果N是偶数,那么N/2是整数),那么在输入时钟的每隔N/2个周期时(计数器从0到N/2-1),改变输出时钟的电平即可得到50%固定占空比的时钟.需要的代码如 ...

  3. "Cannot open source file "Wire.h" " in Arduino Development

    0. Environment Windows 8 x64 Arduino 1.0.5 Visual studio 2012 Visual micro Arduino 1. Steps Add &quo ...

  4. 基于jersey和Apache Tomcat构建Restful Web服务(二)

    基于jersey和Apache Tomcat构建Restful Web服务(二) 上篇博客介绍了REST以及Jersey并使用其搭建了一个简单的“Hello World”,那么本次呢,再来点有趣的东西 ...

  5. 小程序如何去掉button组件的边框

    小程序获取用户授权不再支持wx.getUserInfo方法,改为用button获取,格式如下 <button class="btn btn" open-type=" ...

  6. 使用IDEA快速搭建Gradle项目

  7. ipfs02笔记

    IPFS-day02 其他常用操作 添加文件并用文件夹包裹 ipfs add xxx -w 把內容快取到本地,并提供给他人.官网文档 ipfs pin add QmT7TX5vGmFz86V8cDkP ...

  8. java设计模式之命令模式以及在java中作用

    命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transaction)模式. 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请 ...

  9. Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xxx项目名]]

    可能是web.xml中的一些配置导致Tomcat启动失败,把web.xml中除 <welcome-file-list>外的全部配置删除后,就能正常启动Tomact了. 具体什么原因还不清楚 ...

  10. UVA 437 The Tower of Babylon(DAG上的动态规划)

    题目大意是根据所给的有无限多个的n种立方体,求其所堆砌成的塔最大高度. 方法1,建图求解,可以把问题转化成求DAG上的最长路问题 #include <cstdio> #include &l ...