为什么Git比Subversion更好?
我已经使用 Subversion 几年了,在使用 SourceSafe之后 ,我只是喜欢Subversion。 结合 TortoiseSVN ,我无法想象它会如何变得更好。 然而,越来越多的开发人员声称Subversion存在问题,我们应该转向新一代的分布式版本控制系统,例如 Git 。 Git如何改进Subversion? #1楼 一些答案已经提到了这些,但我想明确指出2点: 1)进行选择性提交的能力(例如, git add --patch )。 如果您的工作目录包含多个不属于同一逻辑更改的更改,Git可以非常轻松地进行仅包含部分更改的提交。 使用Subversion很难。 2)在不公开变更的情况下提交的能力。 在Subversion中,任何提交都是立即公开的,因此是不可撤销的。 这极大地限制了开发人员“提前提交,经常提交”的能力。 Git不仅仅是一个VCS; 它也是开发补丁的工具。 Subversion仅仅是一个VCS。 #2楼 其他答案在解释Git的核心功能方面做得很好(很棒)。 但也有很多 小 方法让Git表现得更好,并有助于让我的生活更加健全。 以下是一些小事: Git有一个'干净'命令。 SVN迫切需要这个命令,考虑它会在磁盘上转储额外文件的频率。 Git有'bisect'命令。 这真好。 SVN在每个文件夹中创建.svn目录(Git只创建 一个 .git目录)。