2013-05-07 126 views
1

上游存儲庫位於github上,稱爲「droid」。我分叉它並在我的叉子中添加一些提交。 但是上游回購「droid」被移到了另一個現有回購的子文件夾中,稱爲「allRepo」,現在它在「allRepo/droid」中。我也分了它。我可以將我的提交從my_fork_1移動到my_fork_2(或本地),並繼續使用my_fork_2,它是「allRepo」的分支?將提交從一個git存儲庫應用到另一個存儲庫的子文件夾

回答

3

使一些原本獨立的項目(有它自己獨立的倉庫和獨立的歷史)一些子目錄(子樹)的一些大項目的一部分是子樹合併,並且如描述在How to use the subtree merge strategy HOWTO混帳文檔中,Git Tools - Subtree Merging在 「臨Git的」 一書(CC-NC-SA 3.0許可)章,並Working with subtree merge GitHub的幫助頁面(在高級Git的部分)。

請注意,您需要設置子樹合併只有一次;所有未來從子項目回購合併到整個項目回購將自動應用。或者你可以在合併你的提交後切換到使用完整的項目回購。

還有git subtree命令,available in contrib area因爲GIT中1.7.11

2

一種解決方案,是不是從第一git的應用差異到第二個

在第回購:

git diff <hash> <hash>~1 > patch 

在第二:

git apply /some/path/to/the/patch 
git commit 

,並獲得第一個回購的消息用以下命令:

git log <hash> -n 1 | tail -n+5 | sed -e "s/^ *//" 
相關問題