0:00:00.067,0:00:01.784 Pull requestは[br]どのGitHubレポジトリに 0:00:01.784,0:00:04.152 変更を加える上でも重要です 0:00:04.402,0:00:06.207 どのようにして効果的に使えるかを[br]見ていきましょう 0:00:06.975,0:00:08.689 ♪ (音楽) ♪ 0:00:11.512,0:00:12.829 Pull requestは別のコードベースで 0:00:12.829,0:00:15.550 変更を行うための手段です 0:00:15.742,0:00:17.814 あなたが中心的な貢献者である場合でも 0:00:17.814,0:00:19.764 離れて貢献している場合でも[br]使うことができます 0:00:20.014,0:00:22.431 中心的な貢献者ではない場合[br]このプロジェクトに参加して 0:00:22.431,0:00:24.212 自分で変更を加えて 0:00:24.212,0:00:26.088 オリジナルの作者に[br]その変更を提案として 0:00:26.088,0:00:27.967 pull requestを送ることができます 0:00:28.328,0:00:32.843 つまり不満を言うよりも[br]修正を加える方が簡単になるため 0:00:32.843,0:00:37.022 GitHubはオープンソースの[br]成長と発展を促進してきたのです 0:00:37.428,0:00:39.732 編集を行い 改善することで 0:00:39.732,0:00:41.280 皆の利益になります 0:00:41.280,0:00:46.515 これはクローズドプロジェクトや[br]社内プロジェクト 個人用レポジトリでも同じです 0:00:49.587,0:00:51.725 レポジトリにプッシュする権限があっても 0:00:51.725,0:00:54.270 ブランチで作業をして[br]コードをレビューしてもらうように 0:00:54.270,0:00:55.962 pull requestを送ります 0:00:55.962,0:00:57.709 つまりブランチを作成して 0:00:57.709,0:01:00.595 コミットをし始め[br]レビューしてもらう準備ができたら 0:01:00.595,0:01:03.861 そのpull requestにチーム内の人に[br]送り返せばいいのです 0:01:04.424,0:01:06.931 pull requestは会話であり 0:01:06.931,0:01:09.973 ブランチの現状を[br]一方的に教えるものではありません 0:01:09.973,0:01:12.650 むしろ会話や議論に似ていて 0:01:12.650,0:01:16.565 コードに加えられた修正は[br]時系列順に表示され 0:01:16.565,0:01:19.860 最終的に承認されるか[br]悪いケースだと 0:01:19.860,0:01:24.701 下向きの親指マークとともに「この変更は[br]あまり良くないのでは」と書かれるでしょう 0:01:24.701,0:01:29.106 いずれの場合においても[br]URLとpull requestは存続します 0:01:31.761,0:01:33.150 物事が拒否されたり 0:01:33.150,0:01:35.253 受け入れられなかったからと言って[br]議論をやめる必要はありません 0:01:35.392,0:01:37.514 承認されなかった理由や[br]今後どのような変更ができるかを 0:01:37.514,0:01:39.234 見つけ出して[br]以降のpull requestが 0:01:39.234,0:01:41.441 受け入れられるようにしましょう 0:01:41.613,0:01:43.753 これは後からチームに入った人のための 0:01:43.794,0:01:45.912 教育ツールとしても機能します 0:01:46.052,0:01:48.824 これらのpull requestは[br]どんな変更なら 0:01:48.824,0:01:51.150 ここで受け入れられるか[br]人が考えている例外や 0:01:51.150,0:01:53.517 要件やフォーマットは何かについての 0:01:53.517,0:01:55.254 会話なのであり 0:01:55.254,0:01:58.553 URLを保存しておいて[br]新しいメンバーの 0:01:58.553,0:02:00.134 教育ツールとして参照できます 0:02:00.797,0:02:03.427 つまり機能がどのように[br]生まれたかについての 0:02:03.427,0:02:05.305 メールを転送する必要がないのです 0:02:05.409,0:02:08.350 URLを教えるだけで[br]いつでも参照できます 0:02:11.517,0:02:13.715 私たちはまた人材だけでなく 0:02:13.715,0:02:14.906 技術的インプットにも関心があります 0:02:14.906,0:02:16.884 継続的インテグレーション[br]つまりCIシステムのうち 0:02:16.884,0:02:21.179 TravisやHudsonやJenkins[br]CirclecCIやTeam Cityなどは 0:02:21.179,0:02:23.645 どれもGitHub pull requestと[br]インテグレーションでき 0:02:23.645,0:02:26.323 ブランチのビルドステータス― 0:02:26.323,0:02:28.563 つまりpull rerquestの[br]基本ユニットを 0:02:28.563,0:02:30.824 会話に即して報告できます 0:02:31.208,0:02:34.184 つまり会話とコードの変更に即して 0:02:34.184,0:02:36.764 ビルドステータスがポップアップして[br]こう言うのです 0:02:36.764,0:02:39.997 「すべて合格でした」とか[br]「テストに通らなかったものもある」など 0:02:40.582,0:02:43.036 Mergeボタンのステータスも左右します 0:02:43.036,0:02:44.754 「Merge Pull Requestの[br]ボタンを押す前に― 0:02:44.754,0:02:47.015 全てのテストに通って 0:02:47.015,0:02:48.658 ブランチをクリーンにしてみてはどうですか?」 0:02:48.658,0:02:51.859 というような警告が出ることでしょう 0:02:52.049,0:02:56.870 さて人からのフィードバックをもらうための[br]CIステータスもインテグレートしているので 0:02:56.870,0:03:01.852 0:03:01.852,0:03:04.136 0:03:04.136,0:03:09.215 0:03:09.556,0:03:11.331 0:03:11.331,0:03:13.034 0:03:13.034,0:03:14.930 0:03:14.930,0:03:17.511 0:03:17.511,0:03:19.644 0:03:19.644,0:03:21.280 0:03:23.836,0:03:27.879 0:03:27.879,0:03:30.462 0:03:30.462,0:03:32.729 0:03:33.104,0:03:36.560 0:03:36.560,0:03:39.473 0:03:39.515,0:03:42.481 0:03:42.481,0:03:44.804 0:03:44.804,0:03:45.926 0:03:45.926,0:03:47.857 0:03:47.857,0:03:49.778 0:03:50.096,0:03:52.025 0:03:52.025,0:03:53.945 0:03:53.945,0:03:57.038 0:03:57.038,0:04:00.814 0:04:02.532,0:04:05.210 0:04:05.210,0:04:07.695 0:04:07.695,0:04:10.582 0:04:11.173,0:04:14.657 0:04:14.950,0:04:17.376 0:04:17.376,0:04:19.277 0:04:19.546,0:04:21.840