2013-04-23 125 views
1

我正在将存储在SVN存储库中的PHP应用程序转换为MVC框架,并且我想将新代码存储在GIT存储库中。将SVN历史迁移到某些文件的GIT

我从旧代码复制的大部分内容都是我们随着时间推移创建的模型。提交历史记录是我们开发过程中非常重要的一部分,但为了简化存储库,我只需要这些文件的历史记录,而不是整个存储库。

有没有办法从SVN向GIT导出单个文件(或数百个文件)的历史记录?

例子:

copy-with-history /svn/project/inc/classes/*.mo.php /git/project2/app/Classes/Models/*.php 

回答

0

有,你可以指定到git svn clone命令--ignore-paths=说法。棘手的部分是组成一个正则表达式,其中只包含您需要的。你知道你的回购更好,也许你可以编写一个简单的忽略列表。

+0

我可以多次运行以将更多文件合并到存储库中吗? – yakatz 2013-04-24 00:16:53

+0

@yakatz听起来很奇怪。通常你应该做一次“克隆”。你为什么要多次?有'重置'命令允许重新提交提交,但它需要大量的历史重写。 – kan 2013-04-24 06:44:43