Skip to content
Go back

履歴を残しながらrebaseする

· Updated:
// REMOTE: リモートのHEADブランチ
// LOCALx: ローカルのHEADブランチ。xは連番
// REBASE: rebaseのHEADになるブランチ

// opt. 起点になるローカルブランチ
git checkout -b LOCAL0 master

// ローカルに作業用ブランチを立てる
git checkout -b LOCAL1 LOCAL0

// 作業する
git add ...
git commit -m "..."

// LOCALと同じ位置にリベース用ブランチを立てる
git checkout -b REBASE LOCAL1

// ローカルから編集差分をリモートに整形してコミットする
git rebase -i --force --onto REMOTE LOCAL0 REBASE

// リベースした作業を記録するため、REMOTEのコミットをLOCALにマージする
git checkout LOCAL1
git merge --no-ff REBASE

// リモートを更新する
git checkout REMOTE
git merge REBASE