1

ブランチ A があったとします。次に、ブランチ B を作成し、一連の変更を加えてコミットします。次に、B を A にマージしますが、一部のファイルの一部については A バージョンを保持することを選択します。(私はこれらを行うためにXcodeを使用していますが、gitコマンドラインの同等物についてはわかりません)

この時点での A と B の関係はどのようなものですか? git は、B の変更の一部をマージしていないことを認識していますか? 後で、B から A への最初のマージ中に無視することを選択した変更を何らかの方法でマージすることはできますか?

(私が欲しいのはgit cherry-pickに似たものだと思いますが、誤って大きなコミットの一部を「cherry-pick」します)

4

1 に答える 1

1

この時点での A と B の関係はどのようなものですか? git は、B の変更の一部をマージしていないことを認識していますか?

いいえ、Git は B の特定のコミットが A にマージされたことしか認識していません。その内容
をどのようにマージするかはあなた次第です。Git はマージのみを記録します。 (そして、これは XCode に依存しません)

後で、B から A への最初のマージ中に無視することを選択した変更を何らかの方法でマージすることはできますか?

直接ではありません。からの部分的にマージAされたファイルが 2 回目のマージ時に変更されていない場合、それらのファイルは再度マージされません。
この時点で、 と のファイル間の diffABそれに続く のパッチがB解決策になる可能性があります。

于 2012-05-17T09:44:10.903 に答える