プルリクエスト
マージ処理については、github上からも行うことが可能です。
「AというブランチにBというブランチをマージしてください」
という処理のことを
「Aブランチに対してBブランチのプルリクエスト(マージリクエスト)を送る」
と表現します。
このプルリクエストの使い方を確認していきましょう。
準備
まずはここまでの内容をgithub上に反映していきましょう。
git checkout develop
git push -u origin develop
でdevelopブランチに移動し、developブランチをリモートリポジトリにプッシュすることができます。
github上で、developブランチの内容を確認しておきましょう。
プルリクエストを行うブランチの準備
続いて、新たなブランチを作成してさらにREADME.mdを更新していきます。
git checkout -b issue/b
で issue/b ブランチを作成し、同時にissue/bに移動します。
続いて、README.mdを一行追記し、
git add -A
git commit -m "issue/bをREADMEに一行追記"
を実行して、issue/bブランチにコミットを追加します。
ここまでできたら、 issue/bブランチをリモートリポジトリにブッシュしましょう。
git push -u origin issue/b
このようにすることで、
- github上のissue/bブランチでは追記済み
- github上のdevelopブランチでは追記前
という状態になります。
プルリクエストの作成
それでは、プルリクエストを作成しましょう。
githubのリポジトリ画面で画面上部が下記のような表示になっていることを確認します。
issue/bブランチの「Compare & pull request」ボタンをクリックして、プルリクエストの画面に移行しましょう。
次の画面で、どのリポジトリのどのブランチに対してプルリクエストを送るのかを設定します。
baseブランチ: develop 統合するブランチ: issue/b
となっていることを確認して、コメントを書き、
「Create pull request」ボタンでプルリクエストを送りましょう。
これで、プルリクエストが作成されます。
プルリクエストのマージ
続いて、プルリクエストを受け入れ、developブランチにissue/bブランチをマージしましょう。
「Merge pull request」のボタンをクリックするとマージコミット(マージ処理の履歴を表すコミット)の作成フォームが表示されますので、「Confirm Merge」ボタンをクリックして、マージを確定させましょう。
Pull request successfully merged and closed と表示されればマージ完了です。
これでdevelopブランチに、issue/bブランチで作成した変更が適用されたことになります。
github上でdevelopブランチのREADMEがissue/bと同じ内容になっていることを確認しておきましょう。
ローカルへの pull(プル)
では改めて、ローカルで現在のREADMEを確認してみましょう。
github上ではdevelopブランチにissue/bブランチが統合されましたが、ローカルではまだ元のdevelopブランチのままです。
この様に、ローカルブランチよりもリモートブランチの方がコミットが先に進んでいる場合には、pullというコマンドを利用することで、リモート上のコミットを、ローカルに反映することができます。
まず、
git checkout develop
でdevelopブランチに移動し、README.mdにまだissue/bでのコミット内容が反映されていないことを確認してください。
続いて
git pull
コマンドを入力し、リモート上のコミットを、ローカルに反映しましょう。README.mdを再度確認し、プルリクエストでマージされた、issue/bの内容が反映されていることを確認しましょう。