■フォークとプルリクエスト
公開リポジトリで不特定多数に公開するなら、知っておくといい
Sourcetreeを例に記載
GitHubを使うなら最低限知っておきたい、プルリクエストの送り方とレビュー、マージの基本 (1/2):こっそり始めるGit/GitHub超入門(10) - @IT
http://www.atmarkit.co.jp/ait/articles/1702/27/news022.html
【GitHub】Pull Requestの手順 - Qiita
https://qiita.com/Commander-Aipa/items/d61d21988a36a4d0e58b
SourceTree で GitHub の Fork レポジトリを追加&同期する方法 - Qiita
https://qiita.com/katzueno/items/967c14044982fb6dec65
■フォークの作成
自身のアカウントでGitHubにログインした状態で
https://github.com/refirio/test
など対象リポジトリにアクセスし、ページ右上の「Fork」をクリックする
数秒待つと
https://github.com/(自身のアカウント)/test
にForkされる
(複数のリポジトリを持っている場合、フォーク先を確認される)
※Bitbucketの場合、対象リポジトリにアクセスして
「… → Fork this repository」をクリックするとフォークできる
フォークの際、「Workspace」「プロジェクト」「名前」を入力する
■プルリクエストの送信
Sourcetreeでローカルにクローンする
クローン後、「develop」ブランチにチェックアウト
「develop」ブランチから「feature/test」ブランチを作成して作業&コミット
「feature/test」ブランチを「develop」ブランチにマージしてプッシュ
(もしくは直接「develop」ブランチで作業してプッシュ)
自身のGitHub上に「Compare & pull request」ボタンが表示されるのでクリック
プルリクエスト入力画面になるので、必要に応じて内容を入力し「Create pull request」ボタンをクリック
(マージ先とマージ元の両方が「develop」になっていることを確認する。「master」などになっていたら変更する)
プルリクエスト送信完了
■プルリクエストの受信
https://github.com/refirio/test/pulls
にアクセスし、プルリクエストが届いていることを確認する
「Merge pull request」ボタンをクリック
必要に応じてコメントを編集し、「Confirm merge」ボタンをクリック
(ここで編集したコメントは、マージのコミットのコメントとして反映される)
マージ完了
■プルリクエストを送信する実例
※freoを例にして実際に手順を解説
自身のアカウントでGitHubにログインした状態で
https://github.com/refirio/freo
にアクセスし、ページ右上の「Fork」をクリックする
数秒待つと
https://github.com/(自身のアカウント)/freo
にForkされた
(複数のリポジトリを持っている場合、フォーク先を確認される)
Sourcetreeでローカルにクローンする
クローン後、「develop」ブランチにチェックアウト
「develop」ブランチから「feature/test」ブランチを作成して作業&コミット(作業に応じた名前のブランチを作成する)
「feature/test」ブランチを「develop」ブランチにマージしてプッシュ
(もしくは直接「develop」ブランチで作業してプッシュ)
自身のGitHub上に「Compare & pull request」ボタンが表示されるのでクリック
プルリクエスト入力画面になるので、必要に応じて内容を入力し「Create pull request」ボタンをクリック
(マージ先とマージ元の両方が「develop」になっていることを確認する。「master」などになっていたら変更する
マージ先ユーザが「refirio/freo」になっていることも確認する)
プルリクエスト送信完了
■フォーク元の更新を取り込む実例
※freoを例にして実際に手順を解説
親リポジトリのURLをメモしておく。今回は以下のURLになる
https://github.com/refirio/freo.git
Sourcetreeで「設定」をクリックする
「リモート」タブで「追加」をクリックする
リモート名: freo(何でもいい)
URL/パス:
https://github.com/refirio/freo.git
と設定して「OK」をクリックする
もとの画面に戻るので、さらに「OK」をクリックする
これでリポジトリが追加できた
Sourcetreeでmasterブランチに切り替える(masterブランチに更新を取り込む場合)
ツールバーの「プル」をクリックする
次のリモートからプル: freo(先程登録したリモート名)
プルするリモートブランチ: master(何も表示されなければ、いったん「更新」をクリックする)
「OK」をクリックすると、更新を取り込むことができる
ツールバーの「プッシュ」をクリックし、取り込んだ更新を自身のリモートリポジトリにプッシュしておく
これでフォーク元の更新を取り込むことができた
必要に応じて、developブランチにも更新を取り込んだり、自身のfeatureブランチにマージしたりする
■その他
main(master)ブランチ宛にプルリクエストが来たが、いったんdevelopブランチに取り込みたい
…のような場合、プルリクエストの向き先を変更できる
【地味に便利】GitHubでPull Requestの向き先を変更する方法 - Qiita
https://qiita.com/ryoichi-u/items/60d38a1054ddc09e4450