Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ブランチに 3 週間取り組んできた 100 個のコミットがあるとします。時折 (本当に毎日)、origin/master からプルしてブランチにマージします。
履歴を台無しにすることなく、すべてのコミットを 1 つのコミットに (簡単に) 押しつぶすにはどうすればよいでしょうか? 何らかの形ですべてのコミットを 1 つにまとめた場合、プル リクエストがオリジン/マスターに移動されたときに、マージされたオリジン/マスター プルは破棄されますか?
「押しつぶす」と「歴史を保存する」は、用語のほぼ正反対です。
アップストリームマスターからの変更ではなく、変更のみを含む単一のコミットを作成する場合は、rebaseオリジン/マスターに移動して、そこからスカッシュすることをお勧めします。インタラクティブなリベースを1回呼び出すだけで、これらすべてを実行できます。
rebase
git fetch origin git rebase -i origin/master
次に、最初の行以降のすべての行をからに変更pickしsquashます。
pick
squash