1

ブランチに 3 週間取り組んできた 100 個のコミットがあるとします。時折 (本当に毎日)、origin/master からプルしてブランチにマージします。

履歴を台無しにすることなく、すべてのコミットを 1 つのコミットに (簡単に) 押しつぶすにはどうすればよいでしょうか? 何らかの形ですべてのコミットを 1 つにまとめた場合、プル リクエストがオリジン/マスターに移動されたときに、マージされたオリジン/マスター プルは破棄されますか?

4

1 に答える 1

8

「押しつぶす」と「歴史を保存する」は、用語のほぼ正反対です。

アップストリームマスターからの変更ではなく、変更のみを含む単一のコミットを作成する場合は、rebaseオリジン/マスターに移動して、そこからスカッシュすることをお勧めします。インタラクティブなリベースを1回呼び出すだけで、これらすべてを実行できます。

git fetch origin
git rebase -i origin/master

次に、最初の行以降のすべての行をからに変更picksquashます。

于 2012-03-06T17:42:49.043 に答える