Git和SVN

Anonim

Git vs SVN

Git和SVN都是软件。 Git是SCM,源代码管理和分布式版本控制系统。 SVN是一个版本控制和软件版本控制系统。

Git是一个SCM,主要强调速度。它是由Linus Torvalds为Linux内核开发的。它有一个包含修订跟踪能力和完整历史记录的存储库。此存储库不依赖于中央服务器或网络访问。这是免费软件。 Git在GNU下发布,其维护由Junio Hamano监督。 Apache Subversion或SVN在开源许可下分发。它是一个非分布式VCS版本控制系统。它没有集中式服务器或集中式服务器。它主要用于维护源代码,文档和Web页面的历史和当前版本。 SVN的主要目标是用作CVS的并发版本系统的后继者。它由CollabNet,Inc。开发。

存储在Git中的内容是元数据。它将内容存储在名为.git文件夹的文件夹中,该文件夹具有更大的大小。计算机中的.git文件夹是克隆的存储库。该文件夹包含所有标签,版本历史,分支等,就像在中央存储库中一样; SVN存储文件。他们没有克隆的存储库。

Git分支更易于使用。该系统有助于快速合并文件,也有助于找到未合并的文件; SVN分支实际上是存储库中存在的文件夹。对于合并分支,需要特殊命令。

SVN具有全局修订号,修订号是源代码的快照; Git没有这个。

Git具有加密哈希的内容。这是通过使用称为SHA1哈希算法的算法来完成的。此功能有助于保护内容免受因网络问题或磁盘故障而发生的存储库损坏。

摘要:

  1. Git是一个分布式VCS; SVN是非分布式VCS。
  2. Git有一个集中的服务器和存储库; SVN没有集中式服务器或存储库。
  3. Git中的内容存储为元数据; SVN存储内容文件。
  4. Git分支比SVN分支更容易使用。
  5. Git没有像SVN那样的全局版本号功能。
  6. Git比SVN有更好的内容保护。
  7. Git是由Linus Torvalds为Linux内核开发的; SVN由CollabNet,Inc。开发。
  8. Git在GNU下发布,由Junio Hamano监督维护; Apache Subversion或SVN在开源许可下分发。