2017-02-09 9 views
-1

私のgitワークフローは、検証された後、機能ブランチをスカッシュマージしてマスターにします。しかし、私はこれらの潰れたコミットが、ブランチのないマージマスターを経由してブランチに戻ってきたことを知らない。ブランチスカッシュをマスターにマージし、ブランチにマージする

マスタへのマージが押しつぶされなかった場合、同じブランチへのマスタのマージは、多くのコミットが同じものであるので自明です。

答えて

2

これが可能グラフなどのショー、あなたの機能ブランチに新しいコミットを追加します。

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~ 
関連する問題