【Git】プルリクエスト リベース版 簡易ポケットリファレンス

最近現場では プルリクエストによる開発が当たり前になっています。

また、マージではなくリベースによる管理が主流になっています。

marge と rebase の違いは置いといて、手順を忘れやすい方向けに手順をまとめました。

細かいコマンドやオプションに関しては他のサイトにてご確認ください。

作業環境の構築

プロジェクトのクローン

まずは修正するプロジェクトをローカルへクローンしましょう。

git clone git@gexample.com:TestProject/test_project.git

プロジェクトディレクトリへ移動

クローンしたフォルダへ移動します。

cd test_project.git

ブランチを確認

現在のブランチの状態を確認します。(必須ではありません)

git branch -a

リモートの 「develop」をローカルへ取得

今回は「develop」ブランチに対して修正をする場合です。マスターの場合は「master」になるでしょう。

ローカル編集用に 「origin/develop」 をコピーして 「develop」 をローカルに作成。

git checkout -b develop origin/develop

※ origin とは、リポジトリのURL
※ ローカルにリモートと同じ名前のブランチ「develop」を作成してプッシュすればリモートの「develop」にプッシュされる。

取得した「develop」ブランチを 「feature/develop_top」として作成

今回は、「feature」というディレクトリを切ってその直下にブランチを作成します。

ローカルの「develop」をコピーして「feature/develop_top」を作成。

git checkout -b feature/develop_top develop

※ ローカルに「develop」ブランチが作成されていることが必須。

プログラムの修正

プログラムを修正します。

vi test1.txt
vi test2.txt

プッシュする前に rebase しよう!

「develop」へブランチへ切り替え

ローカルの「develop」環境の情報を更新するためにいったん「develop」へ切り替えます。

git checkout develop

「develop」の情報を最新へ更新

リモートブランチから最新の情報を取得します。

git fetch develop

「feature/develop_top」へブランチへ切り替え

再び先程修正したブランチへ移動します。

git checkout feature/develop_top

「develop」から更新分を取り込む

「feature/develop_top」で更新中に他の人が更新してリモートの「develop」へ取り込まれた修正分を「feature/develop_top」へ取り込みます。

git rebase develop

リベース時にコンフリクトした場合

コンフリクトしたファイルを修正

vi test1.txt

コンフリクトで修正したファイルをステージングへ追加

git add test1.txt

リベースを続ける

git rebase –continue

コンフリクトが続いた場合

直したファイル数分繰り返す

vi test2.txt

git add test2.txt

git rebase –continue

リベースをやめて、rebase する前の状態へ戻す。

git rebase –abort

リベースが正常に終了したら

リベースでプログラムを取り込んだ「feature/develop_top」が正常に動作することを確認しましょう。

リベース後の内容をプッシュする。

「feature/develop_top」ブランチをリモートへプッシュします。

git push origin feature/develop_top

プルリクエストを作成する

GitHubなどの管理画面からプルリクエストを作成してください。

最後に

以上、一度はやったことはあるが、毎回覚えられない方向けに手順書を作成しましたのでご利用ください。

スポンサーリンク

フォローする