forkを使用する際のpull requestの出し方
①forkを作る
画像の赤丸で囲ったところのボタンを押す
forkが完了すると自分のリポジトリ一覧に"Froked from 元のリポジトリ名"といった注釈がついたリポジトリが作成される。これがforkが完了している目印。
②forkで作業をすすめる
forkを作成するとfork元のリポジトリがupstream、forkしたリポジトリがoriginとして登録される。これらは別ブランチで初心者あるあるとしてorigin/masterとupstream/masterの区別がつかず「masterブランチが複数ある!」となるケースがあるが、全く別のブランチなので2つあっておかしいわけではない。これには私も実際引っかかった。。。
originとupstreamではgitコマンドなども別になる。forkしたブランチで作業をする場合はgit push origin とすることを気をつけたい。
③forkからpull requestを出す
画像赤丸のボタンからpull requestを出す。
pull request作成画面。forkなしでやる場合と異なり、どのリポジトリからpull requestを出すのかまで選択できる。問題なければ緑色の"Create pull request"ボタンを押す。
④コードレビューしてもらう
作成したpull requestの画面。forkなしで行う場合との違いはpull request依頼をした本人はmergeできない仕様になっていること。fork元のリポジトリを管理しているユーザーのみがmergeできる仕様になっている。
結論
チーム開発などではforkを利用した開発をしたほうが良いと感じた(誤ってpullrequestを出した人がmergeしてしまうケースがあるので)。ただしoriginとupstreamの区別など初心者が見落としがちな要素も多いのでまずはforkなしでブランチを切って作業するのになれていくのが良さそう。
参考
Github で Fork して PullRequest を送るのはこんなに簡単(ほぼここに書いてあるとおりです)