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