2017-05-10 23 views
0

2つのリポジトリのいくつかのサブディレクトリを新しいリポジトリにマージしたいというユースケースがあります。このため異なるリポジトリの2つのパッチ(git log)をマージする方法

、私は今

git log --pretty=email --patch-with-stat --reverse --full-index --binary -- path/to/file_or_folder > patch1 
git log --pretty=email --patch-with-stat --reverse --full-index --binary -- path/to/file_or_folder > patch2 

を使用して、私は必要なディレクトリのためのリポジトリの両方のためのパッチを作成している、私はそれをやっているgitの午前を使用して、新しいリポジトリにパッチ、両方をマージしたいですコミット履歴はRepoによってレポされています(これは予期されています)。コミットがどこから来たかにかかわらず、日付順にソートされたコミット履歴を得る方法はありますか?

答えて

0

消費するパッチをgit amで作成する場合は、git logではなくgit format-patchを使用してください。

コミット履歴は決して日付でソートされませんが、常に親子関係のようです。コミットの順序については、日付はむしろ重要ではありません。

あなたはおそらく、やるべきことは、あなたが望むように、その後のコミットが注文され、その後、著者日付で、それらのコミットを注文すると、パッチファイルにその順番でgit amを使用し、コミットごとに1つのam -appliablyパッチファイルを生成するためにformat-patchを使用することです私は思う。

+0

あなたが言ったように:「それらのコミットを著者日付順に並べ替える」。それを行うための自動化された方法はありますか、それとも手動で行う必要がありますか? –

+0

あなたのためにそれを行うスクリプトを書くことも、手動でスクリプトを書くこともできます。どちらの方法でも、2つのパッチセットのそれぞれの順序が維持されていることを確認する必要があります。 1つのリポジトリ内のコミットを著者日付順に並べる必要はありません。 g。それらのコミットで以前にrebaseとcherry-pickを使用していた場合。 – Vampire

関連する問題