我对版本控制比较陌生,到目前为止只有使用TortoiseSVN/VisualSVN处理Subversion的经验。我一直在阅读其他类型的VCS (git、mercurial等),并正在考虑尝试它们-然而,许多支持或反对特定VCS的争论似乎主要归结为主观偏好,所以我可能会给每个人看一看。
在考虑这样做的时候,我想知道在理论上是否可以在一个代码库上使用多个VCS。对于哪些(如果有) VCS组合,这可能是一种可能性?如果可能的话,在各自的排除列表之间进行杂耍会有多大的后勤噩梦呢?
这样做的一个可能的理由是备份冗余。几个VCS提供商(Beanstalk,Github,Bitbucket)提供了一个免费的存储库,因此您可以在几个不同的地方免费备份相同的存储库。
发布于 2009-08-21 21:18:48
当然,这是可能的,甚至在某些情况下是司空见惯的。例如,git和svn是这方面的天然组合。标准用例是这样一个组织,由于各种原因,它必须有一个遗留的中央Subversion存储库,但其中的开发人员希望使用Git来提高生产力。
输入git-svn。现在,开发人员从他们自己的本地Git代码库推拉到中央Subversion代码库,但仍然获得了Git的所有酷功能。这个过程对Subversion存储库是完全透明的,它只看到推送到它的更改。
发布于 2009-08-21 22:13:54
Mercurial (带有hgsubversion)、git (带有git- svn )和bzr (bzr-svn)都有一个与上游svn存储库同步的选项。
因此,已经可以(假设扩展功能足够好)与具有不同SCM的svn存储库进行交互。
发布于 2009-08-21 21:17:13
在一个代码库上处理多个VCS通常是困难的(但并非不可能)。但是,您可能会遇到删除文件的问题...有时,一个VC不会意识到文件已被删除。
但是,我不推荐这样做。大多数VC使用代码库中的文件来跟踪更改。使用多个VC系统会用大量的文件污染您的文件系统,这可能会导致其他VC出现问题。
https://stackoverflow.com/questions/1314262
复制相似问题