2010-05-05 37 views
2

我目前正在试图说服我的公司从subversion迁移到git,而且有一点真正有用的东西就是允许我在subversion和git中存储一个版本库(然后我可以向他们展示在git中花费一个小时试图在颠覆中所做的事情是多么容易)。我想我可以将我的Subversion版本库直接放入git中,但是这似乎会在每个目录中留下大量的.svn构件。有谁知道是否有办法避免这种情况?在subversion和git中存储一个版本库

+0

问题是什么“(然后我可以向他们展示在git中他们花了一个小时试图在颠覆中花费的时间是多么容易)”? – khmarbaise 2010-05-05 16:14:03

+0

没有特定的问题,但最常见的情况是svn用户不得不写一半完成的功能,这样我们的中央代码库就可以被固定为一个不同的项目。这很容易用git分支来处理,尽管技术上可以用subversion分支,但我从来没有设法通过在svn中分支一些东西,而没有将工作副本做成皇家混乱,而且我的团队也没有配合,因此他们从不使用分支。 “ – Ceilingfish 2010-05-06 13:08:12

回答

1

您可以将svn存储库导入到git存储库中并与其一起玩,并随时与subversion更改同步。但是,AFAIK不能将git存储库更改发回到subversion版本。

Github刚刚开始提供对git存储库的读/写访问权限。所以它理论上可以将一个svn仓库导入到github中的git仓库中,并且继续将它与svn工具一起使用。他们还提供了一个在防火墙内部使用的版本。

+0

”AFAIK你不能发送git存储库变更回到subversion版本。“ 完全不是这样 - 正如David M上面所说,git svn是一条双向的街道。 – ebneter 2010-05-05 18:54:27

+0

我记得在两台机器上制作一个svn仓库的git-svn克隆时出现了问题,然后我无法再在这两台机器之间使用git来拉/推补丁,并使用它们将变化发回到颠覆。 – duncan 2010-05-05 19:06:35

8

使用git-svn可能是您当前的最佳选择 - 它是git和Subversion之间的双向接口。你创建一个基本上是Subversion工作副本的git存储库。但有一些警告 - 你不应该克隆这个仓库或者从仓库中推/拉。请参阅相关的手册页。

我会建议有一个试验项目,你从Subversion切换到git,而不是试图在同一代码上同时执行Subversion和git。我担心使用git-svn作为垫脚石,因为让它们互操作的任何问题都可能被用于解决整个git的想法。

有很多关于如何/为什么从Subversion转移到某些DVCS的评论。这里有一个我喜欢的:

http://joelonsoftware.com/items/2010/03/17.html

相关问题