Pull requestは
どのGitHubレポジトリに
変更を加える上でも重要です
どのようにして効果的に使えるかを
見ていきましょう
♪ (音楽) ♪
Pull requestは別のコードベースで
変更を行うための手段です
あなたが中心的な貢献者である場合でも
離れて貢献している場合でも
使うことができます
中心的な貢献者ではない場合
このプロジェクトに参加して
自分で変更を加えて
オリジナルの作者に
その変更を提案として
pull requestを送ることができます
つまり不満を言うよりも
修正を加える方が簡単になるため
GitHubはオープンソースの
成長と発展を促進してきたのです
編集を行い 改善することで
皆の利益になります
これはクローズドプロジェクトや
社内プロジェクト 個人用レポジトリでも同じです
レポジトリにプッシュする権限があっても
ブランチで作業をして
コードをレビューしてもらうように
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ステータスもインテグレートしているので