2012-03-29 61 views
1

我有一個倉庫,看起來是這樣的:Git的子樹合併策略沒有選擇正確的目錄

foo/ 
    subrepo/ 
     a_file_in_subrepo 
     another.ext 
    unrelated_file 

subrepo在GitHub上的存儲庫,而我在我的倉庫遠程,說sub,跟蹤它,但沒有文件被合併。

我想要的是合併在sub/mastersubrepo文件夾。我知道a_file_in_subrepoanother.ext正是因爲它們在sub/master但如果我跑git merge -s subtree sub/master我沒有得到我想要的東西,而是得到:

foo/ 
    subrepo/ 
     a_file_in_subrepo 
     another.ext 
    unrelated_file 
    a_file_in_subrepo 
    another.ext 

我真的很困惑。我知道它猜測目錄要自動合併,我可以覆蓋它嗎?

回答

2

使用-Xsubtree=<path>選項將recursive合併策略:

git merge -s recursive -Xsubtree=subrepo sub/master