美文网首页
我认识的 SVN 和 git

我认识的 SVN 和 git

作者: 谢顶强 | 来源:发表于2017-03-08 19:01 被阅读0次

来到上海的这些天,跟一些公司技术人员的交流之后,发现很多公司使用的代码版本管理工具是 SVN。

在过去三年的工作中,我们公司一直使用的是 git管理工具,leader 也一直强调 git 全面优于 SVN。这么多天以来,发现如此多的公司,团队在使用 SVN,我想 SVN 一定是有自己的优势的。

经过一晚的学习了解,鄙人将自己了解的 SVN 和 git 写下来,供行业的使用者参考点评。

首先,我先简单的将 git 和 SVN 的一些区别列举出来:

1.git 是分布式管理工具,而 svn 是集中式管理

2.git 把内容按照元数据的形式存储,而 SVN 是按照文件存储

3.git 分支和 SVN 的分支结构不同

4.git 的内容完整性要优于 SVN

5.git 没有一个全局的版本号,而 svn 有具体的版本号

下面是较详细的解释:

1.subVersion,是一个开源的版本控制系统,支持大多数常见的操作系统。SVN 管理着随时间改变的数据,这些数据存放在一个中央资料档案库中(repository)。这个档案库很像一个普通的文件服务器,但它会记住每一次文件的变动。所以,我们可以浏览文件的变动历史,也可以把档案恢复到旧的版本。SVN 可以管理任何类型的文件,包括程序源码。

2.git 是一款免费,开源的分布式版本控制系统。用以有效,高速度处理从很小到非常大的项目版本管理。git 是linus torvalds 为了帮助 lnux 内核开发而开发的一个开源的版本管理软件。

3.集中式版本管理控制系统的核心是服务器。开发者在开始工作之前必须从服务器获取源码,然后开始开发,解决冲突,提交等。而分布式版本控制系统相比集中式最大的区别就是开发者可以将新的版本提交到本地。每一个开发者都可以通过克隆的方式,在本地拷贝一个完整的 git 仓库。

4.工作流程:

SVN 工作流程:

1)新的一天,从服务器下载项目组最新代码

2)进入自己的分支,开始工作,每隔一段时间向自己的分支提交一次代码。(一般一个小时左右,或在完成一个小功能以后)

3)下班之前,将自己的分支合并到服务器的主分支上。

git 工作流程:

1)从服务器上克隆完整的 git 仓库(包括代码和版本信息)到单机上

2)在自己的机器上根据不同的目的创建分支,修改代码。

3)在单机上自己创建的分支上提交代码,

4)在单机上合并分支

5)将服务器上的最新代码 fetch下来,然后跟自己的主分支合并。

6)生成 patch 补丁,把补丁发送给主开发者

7)主开发者会检查各个开发者的补丁是否有冲突,如果有,根据冲突的成都决定自己解决冲突还是将冲突交给有冲突的开发者,由他们来解决补丁中的冲突,其中一人将解决后的补丁发送给主开发者。补丁全部没有冲突之后,则通过审核。

8)一般来说,开发者可以通过 pull 命令来解决冲突

以上,是我的一点认识,谨供行业同仁参考点评!

相关文章

  • 我认识的 SVN 和 git

    来到上海的这些天,跟一些公司技术人员的交流之后,发现很多公司使用的代码版本管理工具是 SVN。 在过去三年的工作中...

  • GIT教程

    GIT教程 原创者:文思 一、Git基础 1、认识GIT 有了SVN为何还用GIT? SVN增量式管理,GIT采...

  • SVN迁移Git

    参考:GIt - 迁移到Git 构建user.txt 关联svn用户和git用户。 用git svn导入svn库 ...

  • git使用

    1.git和svn的区别①git分布式 svn是集中式(风险高)要很稳定才行②git和svn版本机制不同③git...

  • 项目迁移Svn To Git

    Svn vs Git 详解可见: Git 和 SVN 之间的五个基本区别、Svn与Git的区别废话不多说直接开始教...

  • Git | 绪

    绪 GIT和SVN的区别 GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,例如SVN、CVS...

  • git和svn

    GIT是分布式的,SVN不是GIT把内容按元数据方式存储,而SVN是按文件GIT分支和SVN的分支不同GIT没有一...

  • git 和svn有什么区别?怎么体现git是分布式的呢?git发

    在我的项目中版本控制工具有git和SVN都用过,其中它们的区别是: git 和svn有什么区别? 1)GIT是分布...

  • 从svn迁移到git

    我使用了十几年的svn,然而现在我转投了git的怀抱~ 关于svn和git的使用 我不会在这里讲如何使用svn和g...

  • Git使用教程

    SVN区别 Git 与 SVN 区别点: 1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统...

网友评论

      本文标题:我认识的 SVN 和 git

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