Memo

メモ > 技術 > 開発: Git > フォークとプルリクエスト

フォークとプルリクエスト
公開リポジトリで不特定多数に公開するなら、知っておくといい。 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

Advertisement