我们在世界各地有许多远程工作人员需要共享相同的文件(包括添加和编辑)。
我们过去使用过 SVN,效果很好。
我们拥有的最大的 SVN 存储库之一是 17GB。大小从来都不是问题。我们有各种各样的东西,主要是二进制文件。
但是,缺点是SVN在每个文件夹中都存储了一个隐藏文件夹,对用户不太友好。(尤其是当用户复制和粘贴文件夹时)。
Git似乎解决了这个问题。问题是我应该使用 Git,坚持使用 SVN,还是有其他一些我还没有遇到过的开源工具?
我们在世界各地有许多远程工作人员需要共享相同的文件(包括添加和编辑)。
我们过去使用过 SVN,效果很好。
我们拥有的最大的 SVN 存储库之一是 17GB。大小从来都不是问题。我们有各种各样的东西,主要是二进制文件。
但是,缺点是SVN在每个文件夹中都存储了一个隐藏文件夹,对用户不太友好。(尤其是当用户复制和粘贴文件夹时)。
Git似乎解决了这个问题。问题是我应该使用 Git,坚持使用 SVN,还是有其他一些我还没有遇到过的开源工具?
如果您担心的主要缺点是许多 .svn 隐藏文件夹,那么从 v1.7 开始不再是这种情况。
请参阅工作副本元数据存储改进
Subversion 1.7 中引入的更改的一个关键特性是将工作副本元数据存储集中到一个位置。Subversion 1.7 工作副本在工作副本的每个目录中都没有一个 .svn 目录,而是在工作副本的根目录中只有一个 .svn 目录。该目录包括(除其他外)一个 SQLite 支持的数据库,其中包含该工作副本所需的所有元数据 Subversion。
你在这里想太多了。您可能不想要源代码控制解决方案。如果您的工作人员对这些.svn
文件感到困惑,他们就会对 Git 感到困惑。
一个可能的解决方案是Dropbox。Dropbox 在 Linux、Unix 和 Mac 上的 $HOME 目录下或 Windows 上的 My Documents 文件夹下放置一个名为 Dropbox 的文件夹。放在那里的任何文件都将同步到 Dropbox 服务器。
如果您转到另一台计算机,并共享同一个 Dropbox 帐户,所有文件也将在那里。Dropbox 适用于 Linux、Windows 和 Mac。
如果你们都有 Dropbox 帐户,则可以在这些帐户之间创建共享文件夹。您可以通过这种方式在多人之间共享文件夹。Dropbox 有一些版本控制机制。您可以取回文件的先前副本,因此如果您不喜欢更改,可以将其还原。您甚至可以取回已删除的版本。
Dropbox 免费提供 2GB 数据,如果您愿意付费,可以获得更多空间。我在这种情况下使用 Dropbox,而 2Gb 帐户通常就足够了。
还有其他类似的服务,例如SugarSync,但我喜欢 Dropbox 的绝对简单性。它非常适合非技术用户。
大卫波格几周前刚写了一篇文章。
除了作为一个发现它大大简化了我的工作的用户之外,我与 Dropbox 没有任何联系。
这是Dropbox 替代品列表。我不能保证其中任何一个,但它们可能值得一看。
.git
Git 确实在存储库的最顶层目录中保留了一个内部目录。
我在 Git 中发现的主要优势是所有历史记录都可以在本地获得,并且对于笔记本电脑来说会产生巨大的影响。
17GB 对于 git 存储库来说非常大,1并且您需要注意设置配置选项以使体验可以忍受。
对大量大型二进制文件进行版本控制的用例是我认为仍然可以使用 Subversion 而不是 git 或 Mercurial的少数几个领域之一。
1我确实使用了一个数百 GB 大小的 git 存储库(用于备份目的),但这是一项晦涩难懂的运动。
如果您仅将 VCS 用作共享文件存储,那么这对于此类任务来说是多余的。而且大多数 SCM 处理二进制文件的能力相当差。您在存储大部分无用的(尤其是二进制文件)修订历史时会产生巨大的开销
Resume - 我看不出迁移到 Git 的理由(甚至使用 SVN - 普通的 WebDAV 位置可能就足够了)