如果我只是将Git存储库检出到我的SVN工作副本中,并对文件进行版本控制,会发生什么?
注意:Git-svn不是一个选项,我从未使用过它,不幸的是我没有时间学习新的知识来处理这个问题。
只需克隆Git仓库。不会发生任何不良反应,您可以通过执行git update
更新该代码。您可以安全地将git仓库提交到子版本控制系统中,我以前做过。
这个方案在技术上没有问题,但会变得很麻烦。每次更改后,你需要将其提交到Git,然后将Git仓库中创建的所有新文件添加到Subversion中,最后将所有内容提交到Subversion。当你合并他的任何更改时,你也需要做同样的事情。
我有一个问题,为什么你想这样做;从将它放入Subversion中获得什么好处?如果你需要与他的上游仓库合并更改,那么你必须学习Git。此时,你可能只需使用Git进行版本控制,而不要试图与Subversion集成以避免复杂化。如果你只是要将最终代码发送给他,并让他集成它,那么为什么要将Git仓库检查到Subversion中呢?只需按照平常的方式进行操作,将当前副本检查到Subversion中,进行工作,完成后再将最终结果发送给他即可。
git-svn
对于官方上游代码存储在Subversion中,但你想使用Git进行工作的情况非常有用,因为你更喜欢Git。但如果你想使用Subversion工具来处理Git管理的上游项目,则它并不是非常有帮助。
你提出的解决方案应该是可行的,因为Git和SVN有不同的元数据文件。只要您不将一个版本控制系统的元数据文件添加到另一个系统中,它们之间就没有冲突。
请注意,每当您更改文件时,都必须将它们添加到Git和Subversion中,因此您必须处理两个不同的文件控制系统。
正如你所提示的,使用git-svn可以帮助你,因为它允许你仅使用Git,然后使用git-svn与你的svn中央仓库进行同步。我在工作中正在这样做,而且非常简单并且很好用(大部分时间)。如果我是你,我会考虑学习它。无论如何,您都必须学习Git才能有效地使用客户端,而学习git-svn相对简单。基本上只需要三个命令:
学习Git是值得的,因为最终我发现它比SVN更加优越。