Pull requestは どのGitHubレポジトリに
変更を加える上でも重要です
どのようにして効果的に使えるかを 見ていきましょう
♪ (音楽) ♪
Pull requestは別のコードベースで
変更を行うための手段です
あなたが中心的な貢献者である場合でも
離れてforkで作業している場合でも 使うことができます
中心的な貢献者ではない場合 このプロジェクトにforkを使って参加し
自分で変更を加えて
オリジナルの作者に その変更を提案として
pull requestを送ることができます
つまり不満を言うよりも 修正を加える方が簡単になるため
GitHubはオープンソースの 成長と発展を促進してきたのです
編集を行い 改善することで
皆の利益になります
これはクローズドプロジェクトや 社内プロジェクト 個人用レポジトリでも同じです
レポジトリにpushする権限があっても
ブランチで作業をして コードをレビューしてもらうように
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ステータスもインテグレートしているので
総合的な人の手によるレビューに加えて 技術的なテストも
ブランチのコンテンツに対してのみならず
ブランチとその送り先の 予測マージに対しても行います
だからマージが行われた際に
どのようになるかわかります
そのマージが変更不可である というわけではありません
予測マージを実際に行い どうなるかを確認して
このマージを行った場合に
うまくいくかどうかを 知らせてくれます
もしCIから良いレポートが出て 他の人から
スレッドにいくつかthumb upや shipをもらったら
Merge Pull Requestのボタンを 押す時です
これが済んだら ブランチを削除する オプションが提示されます
少し怖いかもしれませんが 悪いものではありません
そのブランチを閉じたり削除することを 恐れる必要はありません
なぜなら全てのコミットは 送り先のブランチにあるからです
保存されているので
このブランチを削除して
今後の展開は送り先で行われると 人に知らせましょう
pull requestはまだ残っていますが
これは議論を記録したいときのためと
あなたのIDと作業を行った功績を
マージされたコミットと一緒に 送り先のブランチに表示させるためです
GitとGitHub Foundationsの本エピソードを ご覧いただきありがとうございます
よく知られている pull requestについてご紹介しました
横のSubscribeをクリックして チャンネルを購読するのを忘れずに
質問やコメントがある場合は 下へどうぞ
GitやGitHubのトピックに関する 他のチュートリアル・ビデオも
見てみてくださいね
♪ (終わりの音楽) ♪