两个最大的选择是在 git 和 Subversion 之间。Git 是分布式版本控制系统,而 Subversion 是集中式的。正如我告诉许多人的那样,它们是不同的,没有一个更好,也没有一个更差。每个人都有自己的优势,视情况而定。
Subversion 更容易使用,并且有更好的文档。Git 的复杂性来自它是一个分布式系统,因此您拥有本地存储库和远程存储库,这意味着您现在要向两个存储库发送更新。这对于许多人来说可能会变得相当混乱——尤其是对版本控制系统不熟悉的人。
我建议您下载 Subversion,并阅读Subversion 在线手册并尝试使用它。这并不是说要使用 Subversion。这只是为了让您了解如何使用版本控制系统。
现在,为了满足那些 Git 粉丝:与 Subversion 相比,Git 有一个很大的优势:它是分布式的。在 Subversion 中,您必须有一个集中式存储库。这意味着设置一个 Apache 服务器,或者至少在svnserve
任何人都可以访问的机器上运行 Subversion 服务器进程。你身边有一个这样的人吗?大多数小团队都没有。
Git 在像您这样的情况下大放异彩的地方在于您不需要运行 Git 的集中式服务器。每个人都有整个存储库的副本,您可以直接在团队成员之间传递更新,而无需将您的更改签入中央服务器。您可以通过电子邮件相互发送 Git 补丁。或者,您甚至可以使用Dropbox中的集中式 Git 存储库并从那里推送和拉取本地副本。(永远不要直接使用该存储库!)。主要问题是确保团队中的每个人都获得与其他人相同的更新。如果您不小心,这就是 Git 可能崩溃的地方。
现在,如果您碰巧有一个集中式服务器,并且使用 Subversion,那么设置一个 Subversion 存储库服务器非常简单。Subversionsvnserve
是一个非常轻量级的服务器,它可以设置为Windows 服务。如果您更喜欢 Apache httpd 作为服务器,您可以从许多不同的来源获得免费的 Subversion 服务器包。这里有几个:
- VisualSVN:仅限 Windows。免费,除非您想做一些花哨的事情,例如使用 LDAP、Active Directory 或 SSL。1
- UberSVN:适用于 Windows、Mac 或 Linux。与 VisualSVN 相同的限制。1
- CollabNet Subversion Edge:完全开源的解决方案。不像其他两个那样容易设置,但也不是那么困难。这可以为用户帐户使用 LDAP/Active Directory,并且设置 SSL 证书非常简单。
1这些软件包是完整的 Apache httpd 和 Subversion 软件包,它们都组合成一个简单的安装。如果您放弃 GUI 前端,您可以自己设置 LDAP/Active Directory 或 SSL。如果不为专业版付费,您将无法使用前端来执行此操作。但是,我不确定他们的许可协议到底是怎么说的。