squash mergeの環境でCascading PRsでコンフリクトした時
·1 分で読めます
最近以下のような記事を目にすることがあり、ちょうど自分もsquash mergeの環境でひとつ問題を抱えていたので、その話を自分のメモ代わりに書きたくなった。
- Git の Squash マージをやめた話 - Mobile Factory Tech Blog
- squash and mergeしか使ってないけど全く困ってない – Jun Mukai's blog
問題とは、上にある記事のcascading PRsの話で、feature1 -> feature2 というようにbranchを派生して作った場合に、feature1 をmainにマージした後に作業ブランチを feature2 にして git rebase main すると、必ずコンフリクトが発生するので悩んでいた、ということ。
解決策としては、以下にあるようにgit rebase --onto main <last commit on feature1> <feature2 branch> をすればいい
もしくはJun Mukai's blogに書いてあるような以下の方法でもいいのかもしれない。そういえば git rebase --skip って使ったことなかったな。
PR1に由来するコンフリクトは自分にとっては自明だし、ほとんどの場合にはgit rebase –skipするだけだ。
- 作者:岡本 隆史,武田 健太郎,相良 幸範
- 技術評論社
関連記事
ターミナルとキーボードだけでプルリクエストを送る
2015-10-28
開発効率をUPする Git逆引き入門を読んだ
2014-04-23