gitで派生元branchを間違えた時の対処法
作業ブランチの派生元を修正する
git rebase --onto {本来親にしたかったブランチ} {間違って親にしてしまったブランチ名} {親を変更する作業ブランチ名}
conflictを解消する。
ブランチの派生元を調べる。
ブランチがどこまでマージされているかを調べる
git show-branch branchA branchB
ブランチの派生元を調べる
git show-branch branchA branchB | tail -1
一度pushしている場合は、コミット履歴の改変になってしまうので、注意が必要。
他の人も同じ作業をしている場合はNG。自分だけなら-fオプションをつけて強制的にpushする。
git push -f origin {親を変更する作業ブランチ名}
新しいブランチを作り直す。
新しい作業ブランチを正しく作っておき、git cherry-pickを使って欲しいコミットだけを適用する。
正しくブランチを作り直す
git checkout -b {新しく作るブランチ} {本来親にしたかったブランチ}
欲しい作業だけを適用する
git cherry-pick {コミットID}
ブランチの派生元を調べる。
ブランチがどこまでマージされているかを調べる。
git show-branch branchA branchB
ブランチの派生元を調べる
git show-branch branchA branchB | tail -1