git で master から機能ブランチを分岐したとしましょう。今、このブランチにいくつかの変更をコミットし、マスター ブランチの準備ができていると思います。そこで、リモート リポジトリにプッシュし、github UI を使用して、フィーチャー ブランチからマスター ブランチへのプル リクエストを発行します。
現在、プル リクエストのフィードバックにより、機能ブランチのいくつかを変更する必要があります。変更を新しいコミットとしてコミットしてプッシュする簡単なオプションになりました。ブランチが後でマージされると、私の機能は複数のコミットに分割されます。
複数のコミットを回避したい場合、どのような可能性がありますか? 次の可能性が見えます。
- 変更を使用
git commit --ammend
して現在のコミットに追加する git rebase -i
変更をまとめて 1 つのコミットに使用して押しつぶす
これらのソリューションには両方とも大きな問題がありpush -f
ます。
質問:
- このワークフローは何か間違っていますか? コミットを集約するのは間違っていますか?それらを別々のコミットとして残す必要がありますか?
- いいえの場合、ここで使用してもよろしい
push -f
ですか? - はいの場合、本当に悪いことをしないようにするにはどうすればよいですか? どうにかして影響を自分のリモート ブランチだけに限定し、他には影響を与えないようにすることはできますか? 自分のフィーチャー ブランチを破棄するのはそれほど悪くありませんが、マスターを破棄するのは良くありません。
- を回避する他の可能性はあり
push -f
ますか?