プルリクエストとは
マージ処理については、GitLab 上からも行うことが可能です。
「AというブランチにBというブランチをマージしてください」
という処理のことを
「Aブランチに対してBブランチのプルリクエスト(マージリクエスト)を送る」
と表現します。
このプルリクエストの使い方を確認していきましょう。
プルリクエストとマージリクエスト
「プルリクエスト」は GitHub で利用される用語です。 GitLab では同じことをマージリクエストと呼びます。単なる言葉の違いですが、このテキストでは広く利用されている「プルリクエスト」を採用します。
準備
まずはここまでの内容を GitLab 上に反映していきましょう。
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 のリポジトリ画面で画面上部が下記のような表示になっていることを確認します。

「Create merge request」ボタンをクリックして、プルリクエストの画面に移行しましょう。
次の画面で、どのリポジトリのどのブランチに対してプルリクエストを送るのかを設定します。

上記のリンクをクリックして、ブランチ変更画面に移動しましょう。

ソースブランチ: issue/b ターゲットブランチ: develop
となっていることを確認して、
「Create merge request」ボタンでプルリクエストを送りましょう。

これで、プルリクエストが作成されます。
プルリクエストのマージ
続いて、プルリクエストを受け入れ、developブランチに issue/b ブランチをマージしましょう。

「Merge」のボタンをクリックして、マージを確定させましょう。
Merged By (ユーザー名) と表示されればマージ完了です。
これで develop ブランチに、issue/b ブランチで作成した変更が適用されたことになります。
GitHub 上で develop ブランチの README がissue/b と同じ内容になっていることを確認しておきましょう。
ローカルへの pull(プル)
では改めて、ローカルで現在のREADMEを確認してみましょう。
GitLab 上では develop ブランチに issue/b ブランチが統合されましたが、ローカルではまだ元の develop ブランチのままです。
この様に、ローカルブランチよりもリモートブランチの方がコミットが先に進んでいる場合には、pull というコマンドを利用することで、リモート上のコミットを、ローカルに反映することができます。
まず、
git checkout develop
で develop ブランチに移動し、README.md にまだ issue/b でのコミット内容が反映されていないことを確認してください。
続いて
git pull
コマンドを入力し、リモート上のコミットを、ローカルに反映しましょう。README.md を再度確認し、プルリクエストでマージされた、issue/b の内容が反映されていることを確認しましょう。