🌲
git: 派生元のブランチを間違ったとき
毎回調べるやつ
PR 作成済みのブランチの、派生元を変えたい場合
usecase
develop から派生して作業、push して PR まで作ったが、main から派生すべきだった
現状 & やりたいこと
- 現在は develop 派生で feature/muhoho ブランチを作成し、PR を作成済み
- main 派生で作成された feature/muhoho ブランチに変更し、同じ PR へ反映したい
用語
各ブランチを下記のように言い換えています
- 派生元ブランチ: main
- 作業ブランチ: feature/muhoho
- 修正ブランチ: feature/muhoho-fix
方法
# コミットハッシュを取得
git log develop..feature/muhoho
<commit hash>
# 派生元ブランチから修正用ブランチを作成
git checkout main
git checkout -b feature/muhoho-fix
# 修正用ブランチに変更内容を反映
git cherry-pick <commit hash>
# 作業ブランチを修正用ブランチの位置へ強制移動
git branch -f feature/muhoho HEAD
# 作業ブランチを強制 push
git checkout feature/muhoho
git push --force-with-lease
やってること
本来作成すべき派生元ブランチから一時的にブランチを作成して、そこに変更を適用する
派生元が間違っているブランチを、一時ブランチと同じ状態にして強制プッシュ
Discussion