あなたのマージコミットのでgitのは、親番号(-m
)を指定するように要求しているが両親とgitのがあるべきマージのどちら側かわからない持っていますメインラインとみなした。したがって、このオプションを使用すると、メインラインとparent-pickの親番号(1から始まる)を指定して、指定した親に対する変更を再生することができます。見つけるあなたの両親をコミットするには
、試すのいずれか:
git show --pretty=raw <merge_commit>
のか:
git cat-file -p <merge_commit>
またはより良いGUIの可視性のために、試してみてください。その結果、
gitk <merge_commit>
、あなたは
commit fc70b1e9f940a6b511cbf86fe20293b181fb7821
tree 8d2ed6b21f074725db4f90e6aca1ebda6bc5d050
parent 54d59bedb9228fbbb9d645b977173009647a08a9 = <parent1_commit>
parent 80f1016b327cd8482a3855ade89a41ffab64a792 = <parent2_commit>
その後で、あなたのそれぞれの親の詳細を確認:
git show <parent1_or_2_commit>
変更されたファイルの一覧を表示する--stat
を追加します。
または(上記の親に基づいて)変化を比較するために、次のコマンドを使用します。
git diff <parent1_or_2_commit>..<commit>
変更されたファイルの一覧を表示する--stat
を追加します。
かによって両親を比較するために組み合わせる差分を使用します。
git diff --cc <parent1_commit>
git diff --cc <parent2_commit>
次に例えば、あなたのチェリーピックのために1から始まる親番号を指定しますその後
何が起こっているかを確認するためにgit status
を実行します。変更をまだコミットしない場合は、-n
オプションを追加して何が起こるかを確認してください。あなたが満足していないときは、HEAD(git reset HEAD --hard
)にリセットしてください。もしあなたがgitの競合を得るならば、手動でそれらを解決するか、マージ戦略(-X
)を指定する必要があります:How to resolve merge conflicts in Git?
'git cherry-pick'を検証するには' gitプッシュする前にショー;これはあなたに押し付けようとしていることの違いを示します。 – Jimothy
マージコミットを元に戻すには、成功するためにはまったく同じ考慮事項とコマンドライン引数が必要です。 – ErikE
ウィジェットとクラッタの両方を削除したいのですが?それはチェリーピックマージコミットの権利のポイントですか?それ以外の場合は、ウィジェット追加の最後のコミット、またはクラッタ削除の最後のコミットをチェリーピックします。 – Zennichimaro