2017-10-09 7 views
1

古いコミットコードをHEADにマージするには?コミットハッシュe123ee12でtest.jsの完全なファイルをHEAD test.jsにマージしたい場合古いコミットからコードを追加する

私はチェリーピックを使用しようとしますが、チェリーピックを1つ1つ選ぶ前に多くのコミットがあるとします。

また、e123ee12にチェックアウトし、空の行を追加してからコミットしてチェックアウトして、マスターに戻し、コミットをマージします。ただし、追加する行だけをマージして、すべての行をマスターにマージしません。

古いコミットのすべてのファイルをマスターにマージするにはどうすればよいですか?

+2

[Gitを使用して特定のリビジョンに特定のファイルをリセットまたは元に戻すことができますか?](https://stackoverflow.com/questions/215718/reset-or-revert-a-specific-file-to-a- specific-revision-using-git) –

+0

それは異なっています。 –

+0

@ChienLee:その複製はどう違うのですか?私はまったく同じ質問を参照してください... – rodrigo

答えて

1

あなたは

git format-patch -1 <sha> -- aFile 

は、その後、あなたの現在のHEADに

git am -3 < file.patch 

注意をそれを適用しようとするとpatch from that old commita single file用を含む)を生成できます。複数のコミットのために、あなたはcherry-pick a range of commitsことができます。

+0

なぜ 'format-patch -1'で' git am -3'でないのですか 'git am -1'ではない –

+0

@ChienLee-3でマージを行うと-1とは何の関係もありません。コミットのみ): ' - ': ''コミットの最上位からパッチを準備します。 – VonC

+0

私はe123ee12' -1以下 'gitのフォーマット - パッチをしていた、それは' 0001- .patch'その後、 'gitのチェックアウトmaster' -3 0001- .patch' –

関連する問題