Git 入门 ---- Git 与 SVN 区别

一. Git 是什么?        Git 是目前世界上最先进的分布式版本控制系统    
二. 基础知识 有中心的 SCM(Software Configuration Management)

  • 服务端:单数据库
  • 客户端:工作目录、状态

  无中心的 SCM

  • 任何人都可以是服务端
  • 工作目录也是仓库
  • 操作无需网络连接

   
三. SVN 与 Git 异同?
相同:

能记录文件的所有更改记录。这样是为了大量更改后,但是最后觉得还是原来的版本代码好,可以有记录回到过去,而不用采用 Copy 旧代码另存为某文件,然后某个时间从大量文件中找你需要的历史记录,版本控制帮我们做到了历史记录的存储,可以方便地查询及回滚到过去的某一版本。

 

 

不同: git和其他
版本控制系统(如 
CVS)有不少的差别,git本身关心文件的整体性是否有改变,但多数的 CV S或 
Subversion 系统则在乎文件内容的差异。因此git更像一个文件系统,直接在本机上获取数据,不必连接到主机端获取数据。
  git
 是用于Linux内核开发的版本控制工具。与
CVS
Subversion(SVN) 一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。
        SVN 是集中式或者有中心式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。       Git 是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

 

 

 

参考资料:                   
https://zh.wikipedia.org/zh-cn/Git                   
http://rogerdudler.github.io/git-guide/index.zh.html

    原文作者:刘梦阳
    原文地址: https://www.cnblogs.com/lmy01/p/6288527.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞