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 upや
shipをもらったら
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