美文网首页
git 和svn 的区别

git 和svn 的区别

作者: 进击燕子 | 来源:发表于2021-11-15 10:12 被阅读0次

    笔记背景:新项目,不能使用git 进行代码的提交,当时差点原地抓狂,因为svn 我只在大学时期使用过,现在对svn 不熟悉,git 的优点太多,故做了两者的总结,方便记忆。

    一:svn :

    集中式的数据管理,存在一个中央版本库。所有开发人员本地开发所以用的代码均来自这个版本库,提交代码也必须提交到这个中央版本库中。

    svn的版本控制流程如下:

    1:在中央库中常见或从主干复制一个分支;

    2:从中央库checkout下这个分支的代码;

    3:增加自己的代码文件,修改现存的代码或删除代码文件;

    4:commit代码,如果有人在刚刚的分支上提交了代码,你的commit 会提示代码过期,需要你现up你的代码在提交,如果出现冲突,解决完冲突在提交代码。

    使用缺点:

    1:需要局域网配合,若断网,则无法提交和更新代码;

    2:代码集中管理,需要对中央版本库进行备份,以防版本出现混乱失控的情况。备份是要备份所有的代码数据以及所以更改的版本记录;

    3:容错性差。

    二:git

    git :分布式的版本控制,由Linux 开发,每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库,创建自己的分支,并进行开发操作,减少冲突,即使是无网络的环境,也能提交代码,查看版本,查看提交记录等。

    三:svn 和git 的区别

    git svn

    分布式 集中式

    内容按照元数据方式存储, 按照文件存储

    同一目录下可以有多个分支,代码合并分支简单 分支不能放在同一个目录下,需要另外目录管理,需要手工合并分支

    git 没有全局版本号 存在全局版本号

    存储内容使用sha-1哈希算法,代码内容较为完整 svn是按项目集中进行管理,按目录进行分类管理(需求分析,设计、美工、测试、代码等等),适合于项目管理

    git 下载,不联网也可以看log svn 需要联网

    直接合并,解决冲突简单 commit 代码前,需要钱update一下,直接合并可能会覆盖其他人的代码

    ————————————————

    版权声明:本文为CSDN博主「可爱女程序员」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/lengyue1314/article/details/121222374

    相关文章

      网友评论

          本文标题:git 和svn 的区别

          本文链接:https://www.haomeiwen.com/subject/rxaftrtx.html