前の開発ブランチのコミットも一緒にコミットされていたとき
ブランチを切った時にmasterからではなく、他の開発ブランチ(今までいた開発ブランチ)からブランチを切ってしまったときにpushすると、コミットが前のブランチのコミットも一緒にコミットされてしまいます。どうやって解決したか書きたいと思います。
状況
- Fooブランチ開発してPR作成
- AとBというコミットがPushされている
- BarブランチをFooブランチから切って開発してPR作成
- CとDというコミットだけをPushしたが コミットは4つある(ABCDの順で)
解決方法
- Fooブランチがmain(master)にマージされたら、ローカルのmainを
git pull
する - Barブランチをにて、
git rebase main
を実行する - その後、Barブランチで
git push origin +Bar
で強制プッシュする - BarブランチのPRを見るとコミットがCとDだけになっている
あっさりと解決しました。rebase -i
やrevert
やreset
を使うか迷いましたがよかったです!