新しい機能が開発ブランチにマージされ、そこからマスターにマージしてデプロイする準備ができている webapp があります。これはかなり複雑な機能であり、何かが予期しない動作をした場合に、きれいに元に戻すことができる必要があります。
私はこれを計画しています:
git checkout master
git merge --squash develop
git commit -m 'Merged...etc'
すべて簡単で簡単です。ロールバックする必要がある場合は、次のようにするだけで済みます。
git checkout master
git revert HEAD
ただし、これが必要な場合は、開発中に問題を修正し、後日再マージする必要があります。そして、私は git help revert でこれを読みました:
マージ コミットを元に戻すことは、マージによってもたらされるツリーの変更を決して望まないことを宣言します。その結果、後のマージは、以前に元に戻されたマージの祖先ではないコミットによって導入されたツリーの変更のみをもたらします。
これは、後日同じコードを再マージできない可能性があることを示唆しています。または、 --squash の使用は、これがマージコミットとは見なされず (コミットは別のトランザクションであるため)、将来再マージできることを意味しますか?
したがって、これがgitによるマージコミットと見なされるかどうかについて、いくつかの明確化を探しています。