i3geek.com
闫庚哲的个人博客

通俗易懂的对比svn和git

SVN是集中式的管理方式。大致流程如下:

1、从服务器上将整个项目代码检出到本地电脑硬盘中(一般来说,是从主分支上下载的代码)。
2、然后在svn服务器中建立新的开发分支,将硬盘中的代码提交到该开发分支中。(其实就是新开分支)。
3、接下来就开始开发工作,新增、删除、修改、重写代码将在这段时间内完成
4、临近结束的时候,将新开发的代码提交到第二步新开的分支中。
5、将该分支的代码合并到主分支中,消除冲突,工作就基本结束。

注意:
往往实际的开发过程中,会有好几个程序员共用一个分支上的同一批文件,当在共同工作的时候,代码修改之间势必会产生冲突,所以应该在要修改之前,先将本地硬盘中的代码更新到开发分支上最新的代码,然后改完后再阶段性提交。

  Git 是分布式的管理方式,这点和svn有很大差别,它可以让开发者本地提交,每个开发者的机器上都有一个服务器的数据库。流程如下:

1、从服务器上将代码克隆到本地(这点类似svn的第一步)
2、在本地创建分支,修改代码(svn是在服务器创建分支)
3、在本地创建的分支上提交代码(很不一样吧)
4、在本地合并代码
5、新建一个分支,把服务器上最新版的代码fetch下来,然后和自己的主干合并(相当于重复了第一步,只是将新版代码fetch到新的分支而已)
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果与其他人的代码有冲突,则先解决冲突,然后再提交一份代码。(相当于整理了补丁,最后生成一个补丁用于更新服务器端的主干)

这种管理方式是强调个体的,个体开发者不用经常与服务器交互,几乎可以离线工作,服务器也没有大的压力。

赞(0)
未经允许不得转载:爱上极客 » 通俗易懂的对比svn和git
分享到: 更多 (0)

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    不错哦!

    凋零4年前 (2015-11-13)回复
    • 谢谢

      yan4年前 (2015-11-13)回复
  2. #2

    谢谢分享 上品户外

    上品户外4年前 (2015-11-18)回复