Raul2018

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

From: http://www.differencebetween.net/technology/software-technology/difference-between-git-and-svn/#ixzz5fIoQsWBP

Git vs SVN

Git and SVN are both software. Git is SCM, source code management , and a distributed revision control system. SVN is a revision control and software versioning system.

       Git is an SCM with its main emphasis being on speed. It was developed for Linux kernel by Linus Torvalds. It has a repository with revision tracking capacities and complete history. This repository is not dependent on a central server or network access. It is free software. Git is distributed under GNU, and its maintenance is overseen by Junio Hamano. Apache Subversion, or SVN, is distributed under the open source license. It is a non-distributed VCS, Version Control System. It does not have a repository which is either centralized or a centralized server. It is mainly used for maintaining historical and current versions of source code, documentation, and Web pages. The main aim of SVN is to be used as a successor to CVS, Concurrent Version System. It was developed by CollabNet, Inc.

       The content stored in Git is metadata. It stores the content in the folder called a .git folder, which has a larger size. The .git folder in the machine is the cloned repository. The folder consists of all the tags, version histories, branches, etc., like in the central repository; SVN stores files. They do not have a cloned repository.

       The Git branches are easier to work with. The system helps in merging the files quickly and also helps in finding the unmerged ones; the SVN branches are actually a folder present in the repository. For merging the branches, special commands are required.

       SVN has a global revision number, the revision number is a source code’s snap shot; Git does not have this.

       Git has contents which are cryptographically hashed. This is done by the usage of an algorithm referred to as SHA1 hash algorithm. This feature helps in protecting the contents from repository corruption taking place due to network issues or disk failures.

Summary:

 

  1. Git is a distributed VCS; SVN is a non-distributed VCS.
  2. Git has a centralized server and repository; SVN does not have a centralized server or repository.
  3. The content in Git is stored as metadata; SVN stores files of content.
  4. Git branches are easier to work with than SVN branches.
  5. Git does not have the global revision number feature like SVN has.
  6. Git has better content protection than SVN.
  7. Git was developed for Linux kernel by Linus Torvalds; SVN was developed by CollabNet, Inc.
  8. Git is distributed under GNU, and its maintenance overseen by Junio Hamano; Apache Subversion, or SVN, is distributed under the open source license.
posted on 2019-02-12 16:11  Raul2018  阅读(160)  评论(0编辑  收藏  举报