subtitle

RaiseTechの各種コースをはじめとしたイロイロな学習の記録

GitHubでPullRequestしてみる

PullRequestとは?

PullRequestとは、GitHubの機能で、コードの変更点に関するレビューを関係者に依頼する機能のこと。


PullRequestのやり方

ローカルリポジトリとリモートリポジトリを同期させる

git status」コマンドで差異がなければOK。差異があればcloneするかpushして整合性を取っておく。


Branchを作成する

ターミナルでローカルリポジトリに移動して、ブランチ作成コマンドを叩く。(ここでのブランチ名は、「develop」とする)

git checkout -b develop


ファイルを変更する


ローカルリポジトリの変更内容をリモートリポジトリに反映させる

ステージングエリアに上げて

git add .

ローカルリポジトリにコミットして

git commit -m "4th lesson: add birthday"

作成したブランチ「develop」から、GitHubのoriginブランチにpushする

git push origin develop

GitHub上にPullRequestができた。


PullRequestの内容を記入してPullRequestする

GitHubのPullRequestの「Compare & pull request」をクリック

変更内容を記載して、「Create pull request」をクリック


「…」から、Copy linkでPullRequestのリンクをコピーして、レビューしてほしい人に送る


先生にチェックしてもらった


Merge pull requestをクリックしてマージする


Confirm mergeでマージを確定する


マージされた。


正しくマージできて、ブランチが不要ならば、「Delete branch」でブランチを削除してもよい。(意図的に残す場合は、そのままにしておいてもOK)


このままだとHEADがブランチを指したまま(*がdevelop側についている)なので、


HEADをmasterに戻しておく。

git checkout master


補足:ブランチを切ってPullRequestした後にファイルを変更して再度PullRequestする場合

branchを切ってPullRequestした後に、指摘を受けるなどして再度ソフトを修正してcommit → PullRequestすると、ブランチのローカルリポジトリ(develop_catweets)とリモートリポジトリ(origin/develop_catweets)は最新の状態になっている。

※ここでのブランチ名は「develop_catweets」とする。

この後で、PullRequestの内容をマージして、マスターのリモートリポジトリ(origin/master)を最新にする。

この段階では、マスターのローカルリポジトリ(master)には、再修正後の変更内容がマージされておらず、環境としては少し古い状態になっている。


この状態で、マスター側にHEADを移そうとすると、「Your branch is behind 'origin/master' by 2 commits」と教えてくれる。(親切!)


※とりあえずHEADはこの段階でmasterに移動する。(〇の位置が現在のHEAD)


整合性をとるために、git pullコマンドでリモートリポジトリの内容をローカルリポジトリに反映させる。

git pull


これでOK。