2013-04-23 124 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