1 00:00:00,067 --> 00:00:01,784 Pull requestは どのGitHubレポジトリに 2 00:00:01,784 --> 00:00:04,152 変更を加える上でも重要です 3 00:00:04,402 --> 00:00:06,207 どのようにして効果的に使えるかを 見ていきましょう 4 00:00:06,975 --> 00:00:08,689 ♪ (音楽) ♪ 5 00:00:11,512 --> 00:00:12,829 Pull requestは別のコードベースで 6 00:00:12,829 --> 00:00:15,550 変更を行うための手段です 7 00:00:15,742 --> 00:00:17,814 あなたが中心的な貢献者である場合でも 8 00:00:17,814 --> 00:00:19,764 離れて貢献している場合でも 使うことができます 9 00:00:20,014 --> 00:00:22,431 中心的な貢献者ではない場合 このプロジェクトに参加して 10 00:00:22,431 --> 00:00:24,212 自分で変更を加えて 11 00:00:24,212 --> 00:00:26,088 オリジナルの作者に その変更を提案として 12 00:00:26,088 --> 00:00:27,967 pull requestを送ることができます 13 00:00:28,328 --> 00:00:32,843 つまり不満を言うよりも 修正を加える方が簡単になるため 14 00:00:32,843 --> 00:00:37,022 GitHubはオープンソースの 成長と発展を促進してきたのです 15 00:00:37,428 --> 00:00:39,732 編集を行い 改善することで 16 00:00:39,732 --> 00:00:41,280 皆の利益になります 17 00:00:41,280 --> 00:00:46,515 これはクローズドプロジェクトや 社内プロジェクト 個人用レポジトリでも同じです 18 00:00:49,587 --> 00:00:51,725 レポジトリにプッシュする権限があっても 19 00:00:51,725 --> 00:00:54,270 ブランチで作業をして コードをレビューしてもらうように 20 00:00:54,270 --> 00:00:55,962 pull requestを送ります 21 00:00:55,962 --> 00:00:57,709 つまりブランチを作成して 22 00:00:57,709 --> 00:01:00,595 コミットをし始め レビューしてもらう準備ができたら 23 00:01:00,595 --> 00:01:03,861 そのpull requestにチーム内の人に 送り返せばいいのです 24 00:01:04,424 --> 00:01:06,931 pull requestは会話であり 25 00:01:06,931 --> 00:01:09,973 ブランチの現状を 一方的に教えるものではありません 26 00:01:09,973 --> 00:01:12,650 むしろ会話や議論に似ていて 27 00:01:12,650 --> 00:01:16,565 コードに加えられた修正は 時系列順に表示され 28 00:01:16,565 --> 00:01:19,860 最終的に承認されるか 悪いケースだと 29 00:01:19,860 --> 00:01:24,701 下向きの親指マークとともに「この変更は あまり良くないのでは」と書かれるでしょう 30 00:01:24,701 --> 00:01:29,106 いずれの場合においても URLとpull requestは存続します 31 00:01:31,761 --> 00:01:33,150 物事が拒否されたり 32 00:01:33,150 --> 00:01:35,253 受け入れられなかったからと言って 議論をやめる必要はありません 33 00:01:35,392 --> 00:01:37,514 承認されなかった理由や 今後どのような変更ができるかを 34 00:01:37,514 --> 00:01:39,234 見つけ出して 以降のpull requestが 35 00:01:39,234 --> 00:01:41,441 受け入れられるようにしましょう 36 00:01:41,613 --> 00:01:43,753 これは後からチームに入った人のための 37 00:01:43,794 --> 00:01:45,912 教育ツールとしても機能します 38 00:01:46,052 --> 00:01:48,824 これらのpull requestは どんな変更なら 39 00:01:48,824 --> 00:01:51,150 ここで受け入れられるか 人が考えている例外や 40 00:01:51,150 --> 00:01:53,517 要件やフォーマットは何かについての 41 00:01:53,517 --> 00:01:55,254 会話なのであり 42 00:01:55,254 --> 00:01:58,553 URLを保存しておいて 新しいメンバーの 43 00:01:58,553 --> 00:02:00,134 教育ツールとして参照できます 44 00:02:00,797 --> 00:02:03,427 つまり機能がどのように 生まれたかについての 45 00:02:03,427 --> 00:02:05,305 メールを転送する必要がないのです 46 00:02:05,409 --> 00:02:08,350 URLを教えるだけで いつでも参照できます 47 00:02:11,517 --> 00:02:13,715 私たちはまた人材だけでなく 48 00:02:13,715 --> 00:02:14,906 技術的インプットにも関心があります 49 00:02:14,906 --> 00:02:16,884 継続的インテグレーション つまりCIシステムのうち 50 00:02:16,884 --> 00:02:21,179 TravisやHudsonやJenkins CirclecCIやTeam Cityなどは 51 00:02:21,179 --> 00:02:23,645 どれもGitHub pull requestと インテグレーションでき 52 00:02:23,645 --> 00:02:26,323 ブランチのビルドステータス― 53 00:02:26,323 --> 00:02:28,563 つまりpull rerquestの 基本ユニットを 54 00:02:28,563 --> 00:02:30,824 会話に即して報告できます 55 00:02:31,208 --> 00:02:34,184 つまり会話とコードの変更に即して 56 00:02:34,184 --> 00:02:36,764 ビルドステータスがポップアップして こう言うのです 57 00:02:36,764 --> 00:02:39,997 「すべて合格でした」とか 「テストに通らなかったものもある」など 58 00:02:40,582 --> 00:02:43,036 Mergeボタンのステータスも左右します 59 00:02:43,036 --> 00:02:44,754 「Merge Pull Requestの ボタンを押す前に― 60 00:02:44,754 --> 00:02:47,015 全てのテストに通って 61 00:02:47,015 --> 00:02:48,658 ブランチをクリーンにしてみてはどうですか?」 62 00:02:48,658 --> 00:02:51,859 というような警告が出ることでしょう 63 00:02:52,049 --> 00:02:56,870 さて人からのフィードバックをもらうための CIステータスもインテグレートしているので 64 00:02:56,870 --> 00:03:01,852 総合的な人の手によるレビューに加えて 技術的なテストも 65 00:03:01,852 --> 00:03:04,136 ブランチのコンテンツに対してのみならず 66 00:03:04,136 --> 00:03:09,215 ブランチとその送り先の 予測マージもに対しても行うので 67 00:03:09,556 --> 00:03:11,331 マージが行われた際に 68 00:03:11,331 --> 00:03:13,034 どのようになるかわかります 69 00:03:13,034 --> 00:03:14,930 そのマージが変更不可である というわけではありません 70 00:03:14,930 --> 00:03:17,511 予測マージを実際に行い どうなるかを確認して 71 00:03:17,511 --> 00:03:19,644 このマージを行った場合に 72 00:03:19,644 --> 00:03:21,280 うまくいくかどうかを 知らせてくれます 73 00:03:23,836 --> 00:03:27,879 もしCIから良いレポートが出て 他の人から 74 00:03:27,879 --> 00:03:30,462 スレッドにいくつかthumb upshipをもらったら 75 00:03:30,462 --> 00:03:32,729 Merge Pull Requestのボタンを 押す時です 76 00:03:33,104 --> 00:03:36,560 77 00:03:36,560 --> 00:03:39,473 78 00:03:39,515 --> 00:03:42,481 79 00:03:42,481 --> 00:03:44,804 80 00:03:44,804 --> 00:03:45,926 81 00:03:45,926 --> 00:03:47,857 82 00:03:47,857 --> 00:03:49,778 83 00:03:50,096 --> 00:03:52,025 84 00:03:52,025 --> 00:03:53,945 85 00:03:53,945 --> 00:03:57,038 86 00:03:57,038 --> 00:04:00,814 87 00:04:02,532 --> 00:04:05,210 88 00:04:05,210 --> 00:04:07,695 89 00:04:07,695 --> 00:04:10,582 90 00:04:11,173 --> 00:04:14,657 91 00:04:14,950 --> 00:04:17,376 92 00:04:17,376 --> 00:04:19,277 93 00:04:19,546 --> 00:04:21,840