目的
- 最近プロジェクトで
$ git rebase
をすることがあったので例として紹介する
前提情報
- 実際の開発現場で
$ git rebase
を実行したときの内容をまとめる。 - このプロジェクトの開発言語はPHPでフレームワークはLaravelを使用している。
ユースケース
- 自分の作業ブランチはmasterから分岐したブランチである。わかりやすいように自分の作業ブランチはAブランチとする。
- 先輩の作業ブランチもmasterから分岐したブランチである。わかりやすいように先輩の作業ブランチをBブランチとする。
- 先輩がDBの設計とマイグレーションを実施し自分がサーバサイドの機能を作成する段取りになっていた。
- DBができないとサーバサイドの実装はできないがDBのER図やカラム情報がドキュメントで開示されていたた。そのため先行してmasterからAブランチを分岐して作業を開始した。
- Aブランチの実装完了前に、先輩が作業完了しBブランチをリモートリポジトリにpushした。
- Aブランチはmasterから分岐しているが、分岐元をBブランチにしたい。下記の方法でrebaseを行い分岐元をBブランチとした。
-
$ git fetch
を実行してリモートリポジトリの最新の情報をリモート追跡ブランチに取得した。 -
$ git branch -a
を実行してリポジトリの一覧を出力しBブランチがあることを確認した。 -
$ git checkout Bブランチ名
を実行してBブランチをローカルリポジトリに取得した。 -
$ git switch Aブランチ名
を実行してAブランチに移動した。 -
$ git rebase Bブランチ名
を実行してAブランチの分岐元をmasterからBブランチに変更した。
-