Pull requestは どのGitHubレポジトリに 変更を加える上でも重要です どのようにして効果的に使えるかを 見ていきましょう ♪ (音楽) ♪ Pull requestは別のコードベースで 変更を行うための手段です あなたが中心的な貢献者である場合でも 離れてforkで作業している場合でも 使うことができます 中心的な貢献者ではない場合 このプロジェクトにforkを使って参加し 自分で変更を加えて オリジナルの作者に その変更を提案として pull requestを送ることができます つまり不満を言うよりも 修正を加える方が簡単になるため GitHubはオープンソースの 成長と発展を促進してきたのです 編集を行い 改善することで 皆の利益になります これはクローズドプロジェクトや 社内プロジェクト 個人用レポジトリでも同じです レポジトリにpushする権限があっても ブランチで作業をして コードをレビューしてもらうように pull requestを送ります つまりブランチを作成して コミットをし始め レビューしてもらう準備ができたら そのpull requestにチーム内の人に 送り返せばいいのです pull requestは会話であり ブランチの現状を 一方的に教えるものではありません むしろ会話や議論に似ていて コードに加えられた修正は 時系列順に表示され 最終的に承認されるか 悪いケースだと― 下向きの親指マークとともに「この変更は あまり良くない」と書かれるでしょう いずれの場合においても URLとpull requestは維持されます 物事が拒否されたり 受け入れられなかったからと言って 議論をやめる必要はありません 承認されなかった理由や 今後どのような変更ができるかを 見つけ出して 以降のpull requestが 受け入れられるようにしましょう これは後からチームに入った人のための 教育ツールとしても機能します これらのpull requestは どんな変更なら ここで受け入れられるか 人が考えている例外や 条件やフォーマットは何かについての 会話なのであり URLを保存しておいて 新しいメンバーの 教育ツールとして参照できます つまり機能がどのように 生まれたかについての メールを転送する必要がないのです URLを教えるだけで いつでも参照できます 私たちはまた人材だけでなく 技術的インプットにも関心があります 継続的インテグレーション つまりCIシステムのうち TravisやHudsonやJenkins CirclecCIやTeam Cityなどは どれもGitHub pull requestと インテグレーションでき ブランチのビルドステータス― つまりpull rerquestの 基本ユニットを 会話に即して報告できます つまり会話とコードの変更に即して ビルドステータスがポップアップして こう言うのです 「すべて合格でした」とか 「テストに通らなかったものもある」など Mergeボタンのステータスも左右します 「Merge Pull Requestの ボタンを押す前に― 全てのテストに通って ブランチをクリーンにしてみてはどうですか?」 というような警告が提供されます さてフィードバックをもらうための CIステータスもインテグレートしているので 総合的な人の手によるレビューに加えて 技術的なテストも ブランチのコンテンツに対してのみならず ブランチとその送り先の 予測マージに対しても行います だからマージが行われた際に どのようになるかわかります そのマージが変更不可である というわけではありません 予測マージを実際に行い どうなるかを確認して このマージを行った場合に うまくいくかどうかを 知らせてくれます もしCIから良いレポートが出て 他の人から スレッドにいくつかthumb upshipをもらったら Merge Pull Requestのボタンを 押す時です これが済んだら ブランチを削除する オプションが提示されます 少し怖いかもしれませんが 悪いものではありません そのブランチを閉じたり削除することを 恐れる必要はありません なぜなら全てのコミットは 送り先のブランチにあるからです 保存されているので このブランチを削除して 今後の展開は送り先で行われると 人に知らせましょう pull requestはまだ残っていますが これは議論を記録したいときのためと あなたのIDと作業を行った功績を マージされたコミットと一緒に 送り先のブランチに表示させるためです GitとGitHub Foundationsの本エピソードを ご覧いただきありがとうございます よく知られている pull requestについてご紹介しました 横のSubscribeをクリックして チャンネルを購読するのを忘れずに 質問やコメントがある場合は 下へどうぞ GitやGitHubのトピックに関する 他のチュートリアル・ビデオも 見てみてくださいね ♪ (終わりの音楽) ♪