リベースのメモ(あとで編集する。)

git rebase する場合は必ずスカッシュして一つにまとめてから行う。


git rebase -i HEAD^^ またはコミットID(vim スキャッシュする。->メッセージを消す。->コミットメッセージを編集する。)

スキャッシュできたか確認する。

ブランチをリモートにフォースプッシュする。

developブランチを最新化

対象ブランチに移動
git rebase develop
->コンフリクト出たとき
codeで修正
 ->git rebase --continue(1/1出た場合)

リモートにフォースプッシュ


 

リベースに失敗した場合かつリモートにリベース前のコミットとブランチがある場合。
git rebase --hard リモートエイリアス名/リモートブランチ名

 

リベースに失敗した場合かつリモートに情報がない時
git reflog 

git reset --hard HEAD@{3}

HEAD@{3}:reflogの内容を加味して適宜変更(コミットのインデックス)

git reflogはリミット指定できる、logと同じ要領。


参考リンク

https://yu8mada.com/2018/05/25/how-to-restore-the-original-history-after-rebasing-git-s-commits-accidentally/