問題タブ [git-squash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 途中で dev とマージしたときにコミットをスカッシュするにはどうすればよいですか?
私は機能ブランチに数日間取り組んできましたが、今では にマージする準備ができていdev
ます。この機能に取り組んでいる間dev
、パッチを受け取るために とマージしました。私の履歴は次のようになります。
dev
ブランチ全体を 1 つのコミットにまとめ、マージしてから早送りしたいと思いdev
ます。問題は、マージがそれらの間で行われるため、E
押しつぶすことができないことです。C
唯一のオプションは squashE
と(新しい commit を呼び出す) のようB
です。この場合、squash されたコミットには無関係なパッチの一部であった変更も含まれます。にマージされると、パッチを適用する 2 つのコミットがあります: (パッチを適用して機能を追加する) と(パッチを適用するだけ)。その上、今では 2 つの無関係な変更を行う予定です。C
F
dev
F
B
F
私の履歴をきれいに保つ方法はありますか?ワークフローを変更する必要がありますか?
git - マスター ブランチから他のコミットをプルした後の Git スカッシュ コミット
ローカル ブランチ A に次のコミットがあり、それをリモート ブランチにプッシュするとします。
ここで、リモート マスターからプルすると、コミット履歴は次のようになります。
git rebase -i と git push -f を使用してコミット 2 と 3 をスカッシュしたい場合、コミット 5 と 6 も書き換えますか? はいの場合、マスター ブランチからプルしたコミットを書き換えずに、以前のコミットを無効にする方法はありますか? 私は Git を初めて使用するので、非常に基本的なことが抜けている場合はご容赦ください。