いくつかのコミットがあるとします:
<sha1> bug due to function1
<sha2> bug due to function2
... other commits
コミット 1 と 2 を一緒にスカッシュして、2 番目のコミットのメッセージのみを保持したい場合は、次のようgit rebase -i
に編集します。
pick <sha1> bug due to function1
squash <sha2> bug due to function2
... other commits
そして、結合されたメッセージを常に編集して、最初のメッセージを削除する必要がありました。
fixup
コミットを再配置して、次のように使用できることはわかっています。
pick <sha2> bug due to function2
fixup <sha1> bug due to function1
pick <sha3> other commit
しかし、2 つのコミットの順序を逆にすると、競合が発生する可能性があるというリスクがあります。
特に結合されたメッセージの編集を避けて、操作を減らして同じ結果を得るにはどうすればよいでしょうか。コミット 1 の前とコミット 2 の後に多くのコミットがある可能性があることに注意してください。