セキュリティ系の勉強、その他開発メモとか雑談. GithubはUnity触っていた頃ものがメイン Twitterフォローもよろしくです

git rebaseのお勉強

読んだもの

このページは図解もわかりやすいし、状況も似ていたので、ありがたかった。しかし、最後のrebase -iでコミットをまとめてしまうのは、後で見返す際に良い影響があるとは思えないので微妙だと感じた。
git rebaseを初めて使った際のまとめ - Qiita

ちょっとわかりにくいけど、便利さは伝わってきた。公開リポジトリrebaseご法度なのを理解できた。rebaseを行うのはローカルの自分しか触っていない部分のみに絞る。 Git - リベース

状況

あまり理想的な状況ではなかったけれど、masterから派生したb1ブランチがあり、b1のプルリクを投げてレビュー待ちの間(ここでかなり待たされる状況)、b1の最終コミットからb2ブランチを伸ばし、作業を進めた。最終的にどちらのチェックも通った時、この二つをどうマージして行こうかといった状況。せっかくなのでrebase使う勉強をしようかなと。
f:id:thinline196:20181205010244p:plain

結果

  1. b1masterに普通にマージ
  2. b2の派生元をmasterに変更(git rebase master (#b2ブランチ上で実行)) (コンフリクトの可能性あり& ここで解消)
 $ git fetch origin
 $ git reset --hard origin/master(masterを最新の先頭にする(ここはb2の派生元をmasterの最新にしたかったのでこの処理))
 $ git checkout b2
 $ git rebase master
  1. b2をリモートにプッシュ $ git push -f origin b2`
  2. b2masterにマージ or 作業続行

    今更

    今更こんなこと勉強しているの恥ずかしいです。以降使えるようになります。。。