2011-09-21 7 views
3

私はいくつかの密接に関連したプロジェクトをディレクトリに持っており、それらをすべて同じgitリポジトリで追跡します。gitで追跡された異なるプロジェクトを1つのリポジトリに移動する

現在、私はthing1thing2の2つのディレクトリを親ディレクトリthingsに持っています。各ディレクトリには独自の.gitがあります。 のすべての履歴を含むthingsディレクトリに.gitという文字列を1つ置きたいと考えています。thing1thing2です。

私の質問は基本的にはthis oneと同じですが、1つではなく2つ(または任意の数の)のディレクトリがあります。

+1

これは[This] [1] problem on stackoverflowと非常によく似ています。 [1]:http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories –

答えて

2

filter-branchを使用すると、リポジトリ内のすべての履歴を結果のリポジトリに移動する場所に移動できます。リポジトリの1つに、もう一方のリモートを指すリモートを追加します。フェッチをして、同じものに両方があるでしょう。あなたはそれぞれの仕事のために別々の枝を持っています。マージを行ってから、共通のブランチで追跡された変更があれば、それを実行します。

これが役に立ちます。

+0

'git filter-branch'に関するいくつかのドキュメントを参照できますか? – Dan

+1

あなたのケースでは、filter-branchは必要ないと思います。アダムが2番目の文から言ったことにちょうど従ってください。 – holygeek

+0

私は極端な初心者です。 「リモートを追加する」という意味は何ですか?どんなタイプのマージを使用すべきですか? – Dan

関連する問題