2016-03-03 44 views
0

我遵循great tutorial關於如何在保留歷史記錄的同時在git repos之間移動文件夾。我遇到了以下問題,但:在git存儲庫之間移動文件夾並不會保留文件夾本身

假設我有以下結構在我的源回購:

Root/ 
    SubRoot/ 
    A 
    B 
    C 

我想A和B移動到另一回購。

第一個問題:?git filter-branch --subdirectory-filter只能與一個目錄工作:-(我願意重複上述過程多次,但有沒有更好的辦法

問題二(非常糟糕的一個):當我移動了,它移動了它的內容,但沒有保留目錄A本身,給我:

Root/ 
    <contents of A> 

相反的:

Root/ 
    A/ 
    <contents of A> 

我執行的命令(來自Root):

git filter-branch --subdirectory-filter SubRoot/A -- --a 

回答

0

沒有更好的方法。這是要走的路。

我必須爲每個我想移動的目錄執行filter-subtree,每次從新克隆開始。

在每個過濾器之後,我使用git mv來對齊所需的目錄結構。

重要提示:出於某種原因tortoisegit無法追蹤歷史。我切換到Sourcetree更好更快 - 沒有麻煩看到那裏的歷史。

相關問題