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