ブランチで(他の誰かによって)行われた最新のコミットを元に戻そうとしています。 TortoiseGitクライアントを使用しています。 「このコミットで変更を元に戻す」をクリックすると、gitは2つの選択肢を提供します:Parent1
およびParent2
。これは何を意味するのでしょうか? Parent1とは何ですか?Parent2とは何ですか?
Gitのすべてのコミットには、少なくとも1つの親があります(最初の/最初のコミットを除く)。コミットの親は前のものです。
C1 <- C2 <- C3
C1は最初のコミットです。 C2は2番目のものです。 C1はC2の親です。同じことがC3にも当てはまります。
マージコミットは、親の数という意味での特別なコミットです。
C1 <- C2 <- C3
\
.. C4 <- C5 <- C6
C6はマージコミットです。 C3とC5の2つの親があります。 C5にいたときに2つのブランチ(コミット)をマージした場合:C5は親1(最初の親)であり、C3は親2(2番目の親)であると言われます。
ブランチでmerge commitを元に戻そうとしているようです。マージコミットにはtwo親があり、マージに関係するブランチごとに1つです。保持する親の履歴のバージョンを選択する必要があります。各親を確認し、どちらを保持するかを決定する必要があります。ほとんどの場合、php7
ブランチに表示される親コミットを保持する必要があります。これは、ドロップダウンのParent 1
オプションである必要があります。
php7 A -- B -- M <-- retain this parent's version of history
/
master .. C