Apache Subversion或SVN是最流行的集中式版本控制系统之一。现在,SVN的受欢迎程度在下降,但仍有数百万的项目存储在其中。它可以继续由一个开源社区积极维护。在SVN中,你可以检查出单一版本的仓库。它将数据存储在一个中央服务器中。SVN的缺点是,它的整个历史都在本地版本库中,这限制了你。你只能做提交、差异、日志、分支、合并、文件注释等。
而Git是一个流行的分布式版本控制系统,这意味着你可以克隆你的存储库。因此,你可以得到该项目整个历史的完整副本。这意味着你可以访问你的所有提交。
Git比SVN有更多的优势。对于那些不总是连接到主仓库的开发者来说,它要好得多。而且,它比SVN快得多。
为了更好地理解Git和Subversion的区别。让我们来看看以下几个重要的点。
Git | SVN |
---|---|
它是一个分布式版本控制系统。 | 它是一个集中的版本控制系统 |
Git是一个SCM(源代码管理)。 | SVN是版本控制. |
Git有一个克隆的仓库。 | SVN没有一个克隆的版本库. |
Git分支的工作方式很熟悉。Git系统有助于快速合并文件,也能帮助找到未合并的文件。 | SVN 分支是存在于版本库中的一个文件夹。合并分支时需要一些特殊的命令. |
Git没有一个全局修订号。 | SVN有一个全局修订号. |
Git有加密的哈希内容,以保护内容不会因为网络问题或磁盘故障而导致存储库损坏。 | SVN没有任何加密散列的内容. |
Git存储的内容是元数据。 | SVN将内容存储为文件. |
Git比SVN有更多的内容保护。 | SVN的内容不如Git安全. |
Linus Torvalds为Linux内核开发了git | CollabNet, Inc开发的SVN. |
Git是在GNU(通用公共许可证)下发布的. | SVN是在开放源码许可证下发布的. |