-1
私のgitワークフローは、検証された後、機能ブランチをスカッシュマージしてマスターにします。しかし、私はこれらの潰れたコミットが、ブランチのないマージマスターを経由してブランチに戻ってきたことを知らない。ブランチスカッシュをマスターにマージし、ブランチにマージする
マスタへのマージが押しつぶされなかった場合、同じブランチへのマスタのマージは、多くのコミットが同じものであるので自明です。
私のgitワークフローは、検証された後、機能ブランチをスカッシュマージしてマスターにします。しかし、私はこれらの潰れたコミットが、ブランチのないマージマスターを経由してブランチに戻ってきたことを知らない。ブランチスカッシュをマスターにマージし、ブランチにマージする
マスタへのマージが押しつぶされなかった場合、同じブランチへのマスタのマージは、多くのコミットが同じものであるので自明です。
これが可能グラフなどのショー、あなたの機能ブランチに新しいコミットを追加します。
1.masterと機能ブランチを前にカボチャでマスターに
A---B---C---D master
\
E---F---G feature
2.mergeの機能ブランチをマージ(Hをスカッシュ)は、マスターにコミットされています。
A---B---C---D---H master
\
E---F---G feature
3.Mergeマスターバック機能ブランチに
A---B---C---D---H master
\ \
E---F---G-----I feature
フィーチャーブランチに新しいコミットIが追加され、マージ関係もマスターとフィーチャーの間に作成されます。あなたは第2の画像が示すように履歴構造に戻って、無自覚マージを元に戻したい場合は
は、使用することができます
git checkout feature
git reset --hard HEAD~