-
(シンシア) 皆さん こんにちは
-
ウェビナー開始1分前なので
-
ちゃんと聞こえているかどうか
-
オーディオのチェックを行いますね
-
画面にアンケートを出したので
-
聞こえ具合について教えてください
-
(アレン) いいですね
-
(シンシア) 参加者も集まって
ちゃんと聞こえているようですね
-
ちょうど12時になったので
始めることにしましょう
-
まず自己紹介しますね
私はシンシア・リッチといいます
-
GitHubの講師です
今日はアレン・スミスという―
-
もう1人のGitHub講師も一緒です
-
今日はトピックを通じて
-
皆さんにも関連する
私たちの経験を共有したいと思います
-
このセッションでは
プロジェクト・マネジメントと
-
GitHubを使ってプロジェクトを
管理する方法についてです
-
では手短に 誰が電話に―
-
いえ ウェビナーに参加しているか
-
知るためにアンケートを出しました
-
あなたのプロジェクト・マネジメントの
経験を教えてください
-
皆さんが答えている間に
-
今日の目標についてお話します
-
今日のウェビナーでは
GitHubの仕組みを使って
-
プロジェクトを管理するための
-
良い方法をいくつかお教えします
-
私たちはすべてのプロジェクトを
このプラットフォームで管理し
-
会話ややり取りをすべて
ここに記録します
-
お伝えしたいのは
効果的にこれを用いて
-
チーム内で効果的なコラボレーションと
-
コミュニケーションが
行えるようにする秘訣です
-
さて 結果を見ると―
いいですね
-
プロジェクト・マネジメントの
-
経験豊富な人たちと
-
このトピックに関心のある人たちが
参加していますね
-
このウェブキャストを見せたい人が
皆さんのチームにいるなら
-
録画してリンクを
後ほどお送りしますので大丈夫です
-
アンケートを閉じて
先に進みましょう
-
それでは本題に入って
-
今日の目標をお見せしましょう
-
今日お見せするために
作っておいたプロジェクトは
-
とても基本的なGitHub Pages
というページです
-
GitHub Pagesを知らない人のために
-
GitHub Pagesというのは
基本的に無料で使える―
-
ウェブホスティングのプラットフォームです
-
あなたのGitHubレポジトリを
直接このGitHub Pagesに
-
つなげることができ
プロジェクトについて
-
外の世界とやり取りができる
プロジェクト・ウェブページを作れます
-
これらは無料でセットアップできます
-
使い方は今表示されている―
-
pages.github.comのページで
見られます
-
このページでは
レポジトリのセットアップの仕方から
-
このページとのやり取りの仕方まで
わかります
-
セットアップしておいたページは
ちょっとしたレシピ集です
-
見てみると こちらですね
-
Project Management Cookbookです
-
とてもシンプルなページであることが
わかると思います
-
例として使うために
様々なレシピに飛ぶことのできる―
-
リンクをいくつか作りました
-
終わったころには
おなかがすいているでしょうから
-
今がお昼時ではないといいのですが
-
申し上げたように
とてもシンプルなページです
-
仕組みがどうなっているか
このプロジェクトを管理するのに
-
どのような作業が裏で行われているかを
お見せするためのものですから
-
ご存じのとおり GitHubでは
すべてがレポジトリで管理され
-
レポジトリとはプロジェクトに関する
すべてを集めたものです
-
プロジェクト・ファイルからやり取り
プロジェクトに関する―
-
測定基準など
-
プロジェクトに関わるすべてが
このレポジトリにあります
-
今日お見せすることのいくつかを
実行するために
-
いくつか前提を設けました
-
ひとつは皆さんが作業を行う
レポジトリの管理者であることです
-
レポジトリの管理者でない場合
-
お見せする事柄のうち 実行できないことも
-
いくつかあると思います
-
ですから権限のレベルを変更するか
-
権限のある人にタスクを完了してもらうよう
-
手配する必要があるかもしれません
-
それではまずインターフェースを
ざっとご紹介して
-
GiHubの異なるセクションの
使い方をお見せします
-
右側から始めましょう
-
現在は右側にあるCodeという
タブを開いています
-
Codeタブはその名の通り
ソースファイルがある場所です
-
これがレポジトリに属する
すべてのコンテンツで―
-
ウェブページに表示されるものです
-
その下にはIssuesと
Pullリクエストがあります
-
これらについては後ほど説明しますので
-
後で戻ることにします
-
プロジェクト内で非常に役に立つのは
Read Meファイルです
-
Read Meファイルというのは―
-
いくつか魔法のような言葉があって
Read Meファイルはそのひとつです
-
Read Meファイルで
-
あるページを自動的に
プロジェクトの前面に出せます
-
誰かがアクセスしたときに
あらゆる情報を―
-
ここにあるように
Read Meファイルで読めるのです
-
このRead Meファイルには
レシピ集にレシピを追加する方法―
-
つまりちょっと貢献する方法について
-
加えることにしました
-
レシピのテンプレートも提供しているので
-
レシピを寄稿したければ
-
テキストファイルに
コピー&ペーストして
-
レシピを記入したらコミットし
-
Pull Requestを送信します
-
使いたい人がすぐ使えるよう
とても簡単なものにしました
-
もうひとつよく目にするファイルは
-
CONTRIBUTING.mdというもので
-
このファイルには―
-
どうやって参加するかが書かれています
-
このページが少し違っているのは
-
誰かがレシピ集にレシピを投稿したいと
-
Pull Requestを投稿した時にだけ
-
表示されるということです
-
もう少ししたら実際にお見せします
-
お気づきかと思いますが
-
これらのページのフォーマットは
とてもシンプルで
-
鉛筆のボタンをクリックすれば
-
これらのページがすべて―
-
Markdownという非常に軽量な
言語で書かれているとわかります
-
Markdownはとても基礎的で
シンプルです
-
ヘッダーはハッシュマークと
スペースだけで書かれており
-
ヘッダーです
-
箇条書きの点は
シンプルにダッシュでできています
-
Markdownの使い方の
ガイドもあります
-
このコースでは触れませんが
ノートの中に
-
リンクを含めておくので
自分でアクセスして
-
Markdownの使い方を学べます
-
言った通り とてもシンプルな言語です
-
後ほど これでできる様々な
すごいことをお見せします
-
プロジェクトマネジャーにとって
とても役に立つ
-
別の選択肢はwikiです
-
深くは触れませんが
ほとんどの皆さんは
-
wikiをご存じでしょう
ページを集めたもので―
-
プロジェクトのスケジュールや
予算を保存したい場合に最適です
-
他にはチームの設立趣意なんかを
-
ここに保存できます
-
これにはあまり時間はかけません
-
トップバーを見てみましょう
-
watchしたり starしたり
forkするのが何かを見ていきます
-
プロジェクト・マネジャーとしては
プロジェクト内で
-
何が起きているかに
関心があるでしょう
-
ですから今起きているアクションから
発生しているコミュニケーションや
-
会話をwatchしたいと思うでしょう
-
この場合 watchするという
この選択肢を選びます
-
そうすれば 誰かがPull Requestする度に
-
コミットしたり何かを閉じる度に
通知が来ます
-
プロジェクトについてそこまでの
情報はいらないと思うなら
-
Not watchingも選べます
-
Not watchingを選んでも
会話に参加していれば
-
通知は送られてきますので
-
ディスカッションに何か言い足せば
そのディスカッションに関する
-
通知は送られてきます
-
もうひとつの鍵は誰かが@を使って
mentionする場合です
-
誰かがある事柄について とりわけ―
-
「ビル 力を貸してほしい
意見を聞かせてくれないかな」と
-
言ってきた場合は通知を受けます
-
Not watchingといっても
何も情報が入ってこないのでなく
-
単により限られた情報が
入ってくるということなのです
-
もちろん無視することも可能です
-
プロジェクト・マネジャーとしては
そうしたくはないでしょうが
-
そうすることも可能です
-
別のオプションはレポジトリに
Starをつけることです
-
Starをつけることは
お気に入りに登録するようなものです
-
WatchとStarの違いは何かと
よく聞かれますが―
-
Starはこれらのstarを
皆さんのホームページに追加します
-
このページをstarしてから
GitHub Teachersのホームページに行けば
-
左側にStarredとあります
-
皆さんは自分でstarしたページを
どれでも閲覧できるのです
-
ですから 興味があるページを
記録しておく方法です
-
後で閲覧するために
ブックマークしておくのです
-
ではメインのレポジトリに戻って
-
私たちがプロジェクトに用いた
-
主要なコミュニケーションツールについて
お話しします
-
IssuesとPull Requestsから
始めましょう
-
ここでアレンに参加してもらい
-
Issuesについてアレンに
説明してもらいます
-
その前に これら2つの概念的な違いを
-
述べておきましょう
Issuesは―
-
「質問があったり 不具合があるけど
-
どうしたらいいかわからない」
そんな時はIssueを使います
-
一方で 質問があり
-
解決法を知っているか
すでに解決済みの場合は
-
Pull Requestを使います
-
これら2つのオプションの
-
使い分け方は このような感じです
-
それではアレンに登場してもらって
-
Issuesについて説明してもらいます
-
(アレン) わかりました
ありがとう シンシア
-
それでは早速このIssuesのタブにある
Issuesを見ていきましょう
-
Codeタブのすぐ下にあるので
早速クリックします
-
従来「Issues (問題)」というと
-
ソフトウェア開発の観点では
-
問題点やバグなんかを考えますが
-
まさしくその通りです
-
プロジェクトのセットアップにもよりますが
Issuesはバグの追跡や
-
拡張などにも使えます
-
一般的なプロジェクトなら
-
例えば プロジェクトの要求を
追跡するのに使うかもしれません
-
この例で行ったのは まさにそれです
-
Issuesのリストには
レシピ集に追加される予定の
-
様々なレシピがあるのがわかります
-
メキシコ風ホットチョコレートや
ホリデー・パンチのレシピがありますが
-
他の人によって入力された
他のIssuesがあるのもわかります
-
例えば これは問題ですね
-
レモン・アイスボックス・パイのレシピに
作り方が欠けています
-
この場合 これがissue―
-
失礼 バグあるいはエラーにあたり
修正が必要です
-
Issuesは大変柔軟性が高く
様々な問題を管理するのに
-
使いやすいのです (笑)
-
最終的に目指しているのは
労力の管理ですね?
-
Issuesはすべき仕事を追跡します
-
GitHubには仕事を高レベルで
-
なおかつ非常に細かく見ることもできる
ツールがそろっています
-
では早速新しいIssueを
作ってみましょう
-
緑のNew Issuesボタンを
クリックします
-
issueのタイトルを入力する
このような画面が現れます
-
何か説明的なものがいいですが
-
できるだけ説明的にしましょう
ここでは例えば―
-
「新しいランチのメニューを追加する」
とかそういうものです
-
その下にはGitHubの他のエリアと
同様にコメント欄があります
-
このコメント欄はMarkdownを
サポートしているので
-
それを使ってIssueに関係のある
タスクを管理するために
-
いくつかのことをやることにしましょう
-
例えば ランチのセクションが
必要ですので アイデアはこちらです
-
Markdownのシンタックスを使って
このIssueの中にto-doリストの
-
アイテムを作れます
-
例えばホーギーがあります
それから―
-
イチゴサラダがあります
誰でも好きですね
-
ですから 提案されたアイテムの
チェックリストを作れます
-
また―
-
この下の部分でわかるように
-
直接画像をドラッグ&ドロップできます
-
例えば issueを報告する場合
スクリーンショットを撮って
-
ブラウザのウィンドウに
直接ドラッグすると自動的に
-
GitHubにアップロードして
Issueに投稿されます
-
issueを見たままに伝えられます
-
他のエリアと同様にここでも
@を使って誰かの名前を入れると
-
GitHubはその人にも通知を送るので
-
人を会話に誘い込むには
この機能は便利です
-
シンシアが言った通りですね
-
特に必ずしもレポジトリを
見ていない人にとっては便利です
-
そこで別のコメントを入力します
-
この場合はGitHub Studentが通知を受け取り
-
GitHub Teacherによる会話に誘い込まれています
-
GitHub Teacherがインプットを
リクエストしているとわかります
-
そこで...
-
Issueの画面に戻ると
新しいIssueが上部に
-
作られたことがわかります
-
ここでお見せしたいのは
Issueの説明の右側に
-
小さなチェックボックスがあり
-
3分の0とあります
-
そこでメニューアイテムに
もう1度戻りましょう
-
そこでGitHubが
これらのチェックボックスを―
-
Markdownで作ったものに基づいて
作ったことがわかります
-
そこで試しにホーギーのチェックをはずして
-
ホーギーがレシピ集に
追加されたとしましょう
-
Issuesのページに戻ると
GitHubによって
-
Issueの3つのタスクのうち1つが
完了したと示すタスクリストが
-
アップデートされています
-
考えてみると これはサブタスクを
伴うかもしれないような
-
Issuesを掘り下げる上で
-
とても役に立つ機能です
-
タスクを分割して管理でき
なおかつ―
-
進捗を追跡できるのは
とても役に立ちます
-
ではGitHubでどうやって―
-
リストを管理するかを見てみましょう
-
アイテムはいくつあるでしょう?
-
オープンアイテムが20
クローズドアイテムが6あります
-
あるアイテムのある事柄を
追跡したいとしましょう
-
Labelを使って
Issuesに割り当てられます
-
新しく作ったランチメニューの
アイテムIssueに戻ります
-
画面右側にLabelsという
オプションがあります
-
Labelsの機能は
特定のカテゴリーや文脈とともに
-
Issueをタグ付けすることができるので
とても便利です
-
後にフィルタリングするのに使えます
-
これを用いる際の
いくつかの異なる例があります
-
進捗を追跡することもできます
-
例えば このレポジトリでは
-
あるIssueの進捗を示すのに
異なるlabelを用いています
-
未処理なのか進行中なのか―
-
完了しているのか
それぞれlabelをつけられます
-
そのタグで― いや失礼
そのlabelで後にフィルタリングできます
-
Labelの他の使い方は
-
優先順位の追跡です
-
例えば とても重要な問題があったり
-
優先順位の低いものがあった場合
-
そのようにlabelを使うこともできます
-
Issueの性質でLabelを
使うこともできます
-
この場合では異なる部門があります
-
ContentとDesign
そしてEditorialです
-
これらのIssuesをチェックしてから
-
後にフィルタリングできます
今やってみましょう
-
Issuesのページに進んだら
-
Labelのヘッダーをクリックし
-
進行中でなおかつ重要なものを
-
すべて見てみましょう
-
Labelのヘッダーを再びクリックすると
-
こうしたフィルターは
追加されたものだとわかります
-
進行中のもので重要なものはないので
よかったですね
-
とはいえ未処理のものに
重要なissueがあるかもしれません
-
そこで未処理のもので
-
重要なものがないか見てみます
-
何もないので これは良い知らせです
-
ですからLabelを使ってどのように
Issueリストをフィルタリングするか
-
わかり
それによって
-
多くのIssuesを少しの手間で管理することで
-
必要な仕事に集中することができます
-
もう1つGitHubでできることは
-
これらのLabelをまとめて管理できます
-
とても役に立ちますね?
-
なぜなら各Issueを見る必要がなく
-
単に「60の異なるIssues」という
Labelをつければいいのです
-
Issuesの左側にある
チェックボックスを使えば
-
複数のIssuesを選択でき
-
これらのIssuesすべてに
同じlabelを割り当てられるのです
-
例えば これらを進行中と
しるしをつけたければ
-
In Progressをクリックすると
他のLabelがついてないIssuesにも
-
まとまてLabelを追加できます
-
ここではlabelsの割り当てを
変更もできます
-
複数のアイテムを選択した時に
できるもう1つのことは
-
複数のアイテムをある特定のユーザーに
割り当ててしまうことです
-
これが役に立つのは
-
終了したら他のユーザーに
-
引き渡されるissueが
いくつかある場合です
-
例えば これらのIssuesすべてが
GitHub TeacherとStudentの両方でなく
-
GitHub Teacherだけによって
閲覧・管理されるのなら
-
これをクリックしてIssuesが
-
えーと
-
GitHub Teacherに
再割り当てされるはずです
-
GitHub Teacherに
割り当てられていたものが
-
割り当てが外れたように
なっていますが
-
ここでもBulk Addという機能を使って
-
GitHub Teacherに
割り当てし直すことができます
-
この場合はGitHub Teacherが
メールか―
-
GitHubで通知を受け取り
-
このIssueを
割り当てられたことを知ります
-
タスクを管理するもうひとつの方法は
-
トップバーの右側にある
Sortオプションです
-
いくつかの異なる基準で
並べ替えてみましょう
-
新しいものからあるいは古いものから
順番に並べ替えられます
-
これは新しく追加されたものを
確認する良い方法です
-
新しいものから順番に並べれば
入ってきたばかりのIssueが目に入ります
-
古いものから順番にすれば
レポジトリにずっと残っている
-
Issuesを確認できます
-
まだ解決されていないIssuesが
あるかもしれない場合は
-
このように並べれば
どれが最も長い時間あるかわかります
-
別の並べ替えの方法はMost Commentedと
Least Commentedです
-
これらは例えば
たくさんコメントがついていても
-
そのIssueが進んでいなければ
-
何か解決すべき矛盾が
生じているのかもしれません
-
Issueを解決すべく
話し合いがされていても
-
誰も先に進めていないのかもしれません
-
ですから 話し合いが行われていても
必ずしも解決がされていないような
-
Issuesを掘り下げるには
とても良い方法です
-
あるいは コメントがない順で
Issuesで並べてみると
-
充分な検討がなされていないIssuesが
みつけるかもしれません
-
コメントの中で誰かに対して
@でメンションを送って
-
「ねぇ これに関わってくれないかな」
と言うのもいいでしょう
-
並べ替えの最後の方法は
-
Recently Updatedと
Not Recently Updatedです
-
これを使えば
どのIssuesが活発で―
-
つまりたくさんの活動が行われており
-
どれがあまり活動が
行われていないかがわかります
-
ここでも タスクが若干古くなって
-
先に進めなければならないことが
あるでしょう
-
ここではGitHub Studentに
メンションを送って
-
GitHub Studentが
これに取り組んでくれないか頼みます
-
では 先に進むにあたり
一歩戻って見ることでより大きな目で
-
何に取り組むかを話しましょう
-
ここではIssuesにある
個々のタスクを管理する方法を
-
掘り下げました
-
ここで一歩さがって
より大きな目標や目的を見てみましょう
-
Milestonesという機能を使います
-
Issueにある このMilestoneの
リンクをクリックすると
-
いくつか異なるMilestonesが
ありますが
-
ここにMilestoneは1つしかありません
Third Editionです
-
MilestonesではIssuesを
-
グループに分類し
-
特定の期間内で
目的を達成するようにします
-
これは普通の仕事の流れですから
-
プロジェクト・マネジメント全般と
うまくつながるでしょう
-
締め切りまでに
ある量の仕事によって
-
達成すべきmilestoneがあるでしょう
-
ではIssuesのリストに戻って
-
一番上にある
Milestonesをクリックして
-
よく見てみましょう
-
レポジトリには開いているMilestoneがひとつあり
-
Third Editionと呼ばれています
-
ここでMilestonesを用いるのは
-
レシピ集の出版用エディションを
管理するためです
-
ここでは開示されているIssuesが
4つあり―
-
2015年3月21日までに
完了されなければなりません
-
そこでThird Editionをクリックすると
-
フィルターを使い
特定のMilestoneに割り当てられた
-
Issuesをすべて見ることができます
-
レモン・アイスボックス・パイが
作り方が欠けていることと
-
レシピが重複して表示されていること
-
野菜を使った副菜のレシピを
追加するリクエストがあります
-
下にあるホリデー・パンチに
関するIssueは
-
今のところ未処理になっていますが
-
3月中旬までに
-
このMilestoneを達成するためには
タスクが多すぎるかもしれません
-
ここでできることは
-
Milestoneを変更することです
-
GitHubではその場で
このページから
-
Milestoneを作成できます
-
Milestoneがなければ
名前を入力して
-
Fourth Editionとでもいいましょうか
-
GitHubは自動的にこのIssueを
新しいMilestoneに割り当てる
-
オプションを与えてくれ
これはすごい近道です
-
ですから Issueのページに戻ると
-
Milestonesのページに戻って
-
見てみましょう
-
Third EditionとFourth Edition Milestonesの
2つのMilestoneがあります
-
Fourth Editionをクリックしましょう
-
おっと失礼
Milestonesのページに戻りましょう
-
Fourth Editionの中にある
Editをクリックします
-
お気づきのように
Milestoneを作るとき件名と
-
説明を加えられ
任意で締め切りも設定できます
-
説明そのものも任意ですが
-
追加しておくと便利です
-
なぜならプロジェクト・マネジメントでは
-
目標をはっきりとわかりやすく伝えるために
-
コミュニケーションを増やすことを
考えるものだからです
-
締切が更新されたのがわかります
-
ひとつの応用法は
プロジェクトの内容にもよりますが
-
回転の速い環境で
仕事をしているなら
-
Milestoneを使ってIssuesを
短い期間で管理できます
-
期間を1か月にしたり
2週間にしたりできるでしょう
-
好きなように管理できます
-
それによってプロジェクト・マネジャーの
あなたは特定の期間で
-
どのissueが完了されねばならないか
確認できるのです
-
ここでも issueをすべて完了したら
-
Milestoneを閉じることができます
-
閉じられたセクションに行けば
-
終了されたMilestonesを
見ることができます
-
この場合 いくつかのMilestoneは
-
完了されなかったようです
-
デモ用には これでいいのですが
-
ここで完了されたものと
-
されていないものが見られます
-
ですから より大きな目で
仕事を把握するにはいい方法です
-
さてIssuesでは
やるべきタスクの管理方法を
-
見てきました
そうですね?
-
ここでシンシアにお返しして
-
今まさに行われているタスクを
レビュー・承認する方法について
-
見ていくことにしましょう
-
(シンシア) どうもありがとう アレン
-
それでは次は...
-
問題の解決法がわからない場合
どうするかを見てきましたが
-
次は問題の解決法がわかる場合
どうするかを見ていきます
-
とてもシンプルかもしれません
-
「プロジェクト・マネジャーなんだから
レシピに作り方を追加できる」
-
「誰か 他のデベロッパーに
頼まなくてもいい」
-
「実際に自分で問題を解決できる」
-
それでは作り方が欠けていた
レシピに戻りましょう
-
Issuesにありましたね
-
レモン・アイスボックス・パイの作り方が
欠けていました
-
それではこれに関する―
-
開示されたIssueがあることを念頭に
-
コードビューを使って
-
レモン・アイスボックス・パイのレシピを
見ていきましょう
-
レシピをクリックして
デザートへと進み
-
アイスボックス・パイに到達します
-
ここでわかるのは
これがMarkdownで書かれた
-
実際のファイルだということです
-
GitHubではMarkdownで
あらゆるコンテンツを書くことができ
-
Jekyllでウェブ上に
表示させています
-
この場合は Markdownのファイルを
編集することにします
-
トップバーに鉛筆のマークが
あるのがわかります
-
これをクリックします
-
ここにMarkdownで書かれていますね
-
Markdownのフォーマットに関する
オプションが目に入ります
-
アステリスクを2つで太字になり
-
ハッシュマークを3つで
サードレベルの見出しが作成できます
-
作り方の部分を見てみると
-
そうですね ここを直す必要があります
-
「生地の材料を全て混ぜて焼く」
-
いくつか段階が抜けています
-
フィリングの材料も混ぜ合わせて
-
焼く前に生地の中に入れるように
しなくてはなりません
-
(タイプする音)
-
完璧です
いくつか変更を加えました
-
GitHubのいいことは
やることすべてがバージョンとして
-
管理されることです
-
ですからこの文書の
新しいバージョンを作成したわけです
-
これを保存して
バージョン管理に入れるためには
-
これらの変更をコミットしなければなりません
-
いいですよ GitHubは
この文書に加えた変更を知っているので
-
これらの変更をコミットするかどうか
選択肢を与えてくれます
-
ここです
他の場所で行なう必要はありません
-
さらにこのコミットに対して
推奨される件名も提示してくれます
-
ですからここが このコミットにおいて
あなたが何をしたのかが
-
皆にわかるように
説明的な件名を書く部分です
-
このコミットについては
ごくシンプルに
-
「作り方を追加」とします
-
詳しい説明は任意なので
使う必要はありません
-
今日は使わないでおきます
-
それから下の方に
-
2つの異なる変更―
いえ オプションがあることがわかります
-
1つ目のオプションは
GH Pages ブランチに
-
直接コミットするものです
-
ブランチについては
まだあまりお話ししていませんが
-
基本的にブランチというのは
一連のコードです
-
この例においては
GH Pagesというのは
-
外部のウェブサイトに表示するための
一連のコードのことです
-
ですから GH Pages ブランチに
直接コミットすれば
-
すぐにオンラインにアップされ
-
レシピのウェブサイトに
アクセスしている人全員が
-
加えた変更を見ることができます
-
そうしたいわけではありませんね
-
他の人たちが―
-
シェフがレシピを確認して
-
正しいかを確認したいかもしれません
-
ですからここでは
新しいブランチを作成します
-
新しいブランチを作成すると
ウェブサイトに表示される
-
ライブコードから
変更を切り離して
-
コードに変更を加えたり
-
それについて会話をしたり
何をすべきか話し合っても
-
完全に切り離して行えるので
-
ウェブサイトにあるコード自体には
影響を与えずに済みます
-
ご存じのように
-
結局この変更は加えないことにすれば
-
このブランチを削除すればいいので
変更はメインのサイトには
-
反映されません
-
この場合はブランチを作成し
-
「updating-recipe」
と名前を付けましょう
-
それからproposed file changeに
行きます
-
次のステップでPull Requestを
作成するかどうか問われます
-
覚えているでしょうか
少し前に
-
CONTRIBUTING.mdという文書を
見ましたね
-
この黄色のボックスの中に
-
contributingのための
ガイドラインが入っていますが
-
ここにファイルが現れます
-
ですから 今はやりませんが
このリンクをクリックすれば
-
投稿のための
説明を見ることができます
-
この場合は変更を加えたので
-
それについての
ディスカッションをしたいので
-
次にすべきことは
-
同僚からのフィードバックを
もらうことです
-
GitHubではPull Requestを
作成することでそれを行います
-
ですからPull Requestを
-
変更をする前に
コメントをもらうためのものであり
-
フィードバックをもらうためのものだと
考えてください
-
ここではコメントを
書き加えることができます
-
ここには例えばこんなコメントを
書くことができます
-
「作り方を追加したので
確認をお願いします」
-
(タイプする音)
-
こんな感じです
-
また そうしたければ
-
Issuesと同じように
画像をドロップすることもできます
-
数分前にアレンが
見せてくれましたね
-
このメモはなかなかいいですね
-
では先に進んで
Pull Requestsを作成すると書いてある
-
大きな緑のボタンをクリックします
-
GitHubが自動的に
会話を作成してくれました
-
オリジナルのコミットも追加されています
-
よく見てみると
-
「作り方を追加」と書いてあり
-
横には数字が書いてあります
-
これはコミットです
そのバージョンを保存したので
-
同僚や友人がアクセスして
-
フィードバックをくれることのできる
-
コメントが追加されています
-
ここでの選択肢には
-
すぐにこれをマージする
というものもありますが
-
ここではフィードバックをもらい
ディスカッションをしたいと
-
考えています
-
そこで下へスクロールすると
-
Issuesで見たものと同じように
-
コメントを残すという
オプションがあるのがわかります
-
続けてコメントをすることも
ファイルに変更を加えることもでき
-
全てこのブランチ内の
安全な場所に保管されます
-
メインページにアップする前に
-
完璧な物に仕上げられます
-
Pull Requestのいいところは
-
変更を表示するオプションを
与えてくれるところです
-
トップに行き
Files Changedを見ると
-
画面を提示してくれます
-
オリジナルのファイルは左側
-
追加や変更後のものは右側です
-
この場合 いくつか
追加しただけなので
-
新しい部分を緑のハイライトで
示してくれています
-
何か削除されたものがある場合は
赤で表示されるので
-
どこが削除されたかわかります
-
これによって
-
誰かがPull Requestを作成した場合
-
実際に何が変更されたかが
わかるためとても便利です
-
コードレビューを行う
より複雑なプロジェクトにも便利で
-
このようなものを...
-
コードを見て
-
何が変わったか知りたいと
思うかもしれません
-
これを他のツールと
統合することができます
-
continuous integration toolsという
ツールがあり
-
Pull Requestを提出すると
-
自動的にコードをチェックして
-
正しいか確認してくれます
-
とてもいいツールです
-
これらについての詳細は
github.com/integrationsでどうぞ
-
この場合では
-
もっと詳しい作り方が
必要かもしれません
-
材料を生地に入れて焼いたら
-
終わりではなさそうです
-
ですから この行にメモを加えます
-
「材料を生地に入れる
ここにもう少し説明が必要」
-
この行をクリックすることで
-
行コメントを挿入することができます
-
これもコードについて
コメントをする場合にはとても便利です
-
ここでもMarkdownが
サポートされています
-
このコメントに画像を
付け加えることもできます
-
そしてCommentを
クリックするだけです
-
この場合 もう少し作り方を
加える必要があるので
-
ファイルに戻りましょう
-
(クリックする音)
-
オンライン・エディターを使って
-
再び変更を加えるオプションがあります
-
この場合は 材料を生地に入れて
焼くのですが
-
メレンゲも作る必要があるでしょう
-
下に移動して
-
そこにトッピングのメレンゲを
作るための指示も加えましょう
-
そして...
-
できました
メレンゲを加えました
-
ここで今回聞かれるのは
-
「updateing-recipeのブランチに
直接コミットしますか?」ということです
-
Pull Requestを通じて
このファイルにたどり着いたので
-
メインのGitHub Pagesではなく
このブランチを
-
更新しているのだと
わかったのです
-
この場合は 「はい」
そうするのがいいですね
-
ブランチを更新して
変更をコミットします
-
さて2つの違いがわかるビューに
-
やってきました
-
メレンゲのトッピングを
加えたことがわかります
-
なかなかいいですね
-
では会話に戻りましょう
-
ここで確認をして
-
お互いに更新してよいと
考えていることを知らせるために
-
コメント欄に行きます
-
絵文字もよく使うので
-
小さな+1の絵文字を入力して
サムズアップしたと伝えます
-
そしてCommentです
-
いいですね 次の段階に進めそうです
-
この例では トップに戻って
見てみましょう
-
ほんの少しだけ戻って
-
レシピの全体行程を見ることができます
-
変更を加え始めてから
レシピに起こったことがわかります
-
GitHub Teacherが
作り方の説明を追加し
-
誰かがそれに対して
「ここにもう少し説明が必要」という
-
コメントを追加して
-
これらの作り方を追加するための
2回目のコミットが行われています
-
ここまではいいですね
-
先に進んで このPull Requestを
マージしてみましょう
-
大きな緑のボタンをクリックします
-
このPull Requestをマージすることで
-
実際に行われるのは
このレシピを―
-
メインのGitHub Pagesという
-
ブランチに戻すことで
-
公開し一般に見られるように
するということです
-
今加えたばかりの変更を
誰でも見られるようにするのです
-
別のとてもいい機能は
-
GitHubによって
時間が節約できることです
-
オリジナルのIssueを参照すれば―
-
レモン・メレンゲ・パイに
作り方を追加すべきだと
-
書かれたIssueを覚えていますね?
-
いくつかのキーワードが使え
そのひとつはfixです
-
「これがfixする」とか
「これがcloseする」と言うことができます
-
それからハッシュマークも使えます
-
そして開示されたあなたのIssueが
引き寄せられたのがわかります
-
ですからPull Requestに
関係しているIssueや
-
fixしようとしているIssueを
-
見つけることができ
-
リストがとても長い場合は
-
ここでやってみたように
そのIssueに関する言葉を
-
タイプしてみればいいのです
-
レモン・アイスボックス・パイの
作り方がありました
-
Issue 32です
これをクリックして
-
マージすると確認します
-
Pull Requestが成功したとあるので
-
マージされ終了されました
-
このブランチはもう必要ないため
-
というのも もうからっぽですから―
-
これを削除できます
-
でもご心配なく
オプションにあるように
-
いつでも回復できます
-
それではこのPull Requestに
何が起こったかを見てみましょう
-
Pull Requestのトップへと
スクロールすると
-
Pull Requestが
マージされたとわかります
-
できました
-
でもあのIssueはどうなったのでしょう?
-
Issueに戻ってみてみましょう
-
ここではClosedを選びます
-
あのIssueがありますね
-
左手を見ればわかるように
-
このIssueはClosedに
移動されました
-
変更を加える方法の
-
簡単な紹介でした
-
前に言った通り
直観的に行えます
-
次に何をすればいいかを
きちんと教えてくれますし
-
最初のステップを覚えたら
その通りに従うだけです
-
ファイルを編集して
-
変更をコミットして
-
Pull Requestを作成して
-
変更がまとまったら
-
Pull Requestを
メインブランチにマージします
-
それに関して...
-
プロジェクトを管理するのに
いくつかお見せするものがあります
-
ここでアレンにバトンタッチして
-
彼にチーム・メンバーの追加方法と
-
チーム・メンバーの進捗を
確認する方法を見せてもらいましょう
-
(アレン) わかりました
ありがとう シンシア
-
それでは残りの時間で
-
プロジェクトに関わっている人材を
-
管理するために使えるツールを
-
いくつか紹介します
-
コード・リソースや
それを用いるためのツールとは
-
対照的なものです
-
まずシンシアの言ったような
さらなるコミュニケーションを
-
管理するのに使える1つ目の方法は
チームを使うことです
-
この例では いくつかのことを
前提としています
-
個人アカウントではなく
企業アカウントを
-
持っていると仮定しています
-
レポジトリに戻って
-
右側にあるsettingsを
クリックしましょう
-
そこにCollaboratorsの
オプションがあります
-
パスワードをここに入力します
-
現在このレポジトリは
1つのチームに結びつけられていると
-
わかりますね
-
これはオーナーのチームなので
-
この場合はオーナーが
レポジトリのすべてを管理します
-
ですが人をまとめるような
-
チームを作ることにしましょう
-
そうすることでチームが
活用できます
-
ここで言うチームは
-
Outlookのような配布グループと
-
Active Directoryのような
-
アクセス管理グループを
折衷したようなものです
-
レポジトリへのアクセスを
管理するために使えます
-
しかし実にすごいのは
人をグループにまとめるので
-
複数の人が会話に一度に
参加できるということです
-
ここでベジタリアンのグループを作ります
-
このレポジトリを
閲覧することができるグループです
-
会話を進めたり 違う方向へ導くのに
-
どうやって使えるかを見ていきましょう
-
それではレポジトリに戻って
-
おっとすみません
ここに飛でしまいました
-
チームに人を追加しましょう
-
それではsettingsと
-
Collaboratorsに戻って
-
既存のチームを選びます
-
ベジタリアンがここにあるので
-
Vegetarians そして
add teamをクリックします
-
チームには1人いるようですが
-
このチームをレポジトリに追加します
-
レシピ集に戻ってもいいですし
-
もっと人を追加してもいいですね
シンシアはどうでしょう
-
チームに入りますか?
-
それからGitHub Studentも
追加しましょう
-
とても簡単です GitHubが自動的に
名前の続きを入力してくれるので
-
人を追加するのがすぐに終わります
-
それではプロジェクト・マネジメントの
レシピ集に戻りましょう
-
Issueを見てみましょう
-
Issueを進めるのに
チームを使う方法を見ていきます
-
このIssue 26に「野菜を使った副菜を
追加する」とあります
-
シンシアがここに新しいレシピを
提案してくれたようです
-
彼女は人参とインゲン豆と
アーティチョークを使った
-
レシピはどうかと言っています
-
私はコメントを返して
-
「厳密に言ってアーティチョークが
野菜なのかわからない」と言いました
-
プロジェクト・マネジャーとして
とてもいいのは
-
ベジタリアンのチームを
会話に加えて
-
「この件を考えてみてくれないか―
-
君たちの方が野菜について
詳しいと思うんだが?」と言えることです
-
ベジタリアンの人たちを
@を使ってメンションできます
-
そして「ベジタリアンの皆さん
どう思いますか?」と言えます
-
コメントをすれば
その配布グループにいる人全員に
-
チーム全体に通知が行きます
-
ベジタリアンにマウスのポインタを
合わせみると 誰がいるかわかります
-
チームに誰がいるか
-
見られますし
誰の注意を引いたか―
-
誰から返信が得られそうかが
わかります
-
次にお話ししたいのは
Graphsというツールです
-
このGraphsツールには
様々ありますが―
-
今日お見せするのは
Contributorsタブです
-
これはプロジェクト内で
誰が何をやっているかを
-
知るためにはとてもいい方法です
-
graphをフィルターにかける方法が
いくつかあります
-
今はcommitsで
フィルターがかけられていますが
-
AdditionsやDeletionsを
使うこともできます
-
Additionsについていうと
レポジトリに
-
コードを追加した人たちです
-
Deletionsにすると 同じことで
コードを削除した人たちです
-
Commitsでフィルターをかけると
-
additionsであろうと
deletionsであろうと
-
変更を加えた人たちが表示されます
-
さてブラウザでタブを
1つ開いていますが
-
これはこのレポジトリには
そこまでデータがないからです
-
ここを見ると
-
GitHub Training Kitの
Contributorsですが―
-
これはパブリック・トレーニング・キットの
レポジトリなので
-
これらはオープンソースの資料で
-
もっと大きなタイムラインがあります
-
活動がどのように変動しているかが
わかりますね
-
Contributorsのグループが
ずっと大きいので
-
このレポジトリに誰がコードを
pushしているかがわかります
-
今はジョーダン・マカラーが
一番活発なようです
-
彼は236,237行ものコードを
レポジトリに入力しています
-
このタイムラインはとても長いですが
-
2014年の活動だけを
見たいとしましょう
-
例えば 2月から3月までとすると
-
graphをクリックして
ドラッグすると
-
上にある緑のものを
横へとドラッグすると
-
タイムラインと連動して
-
選択された特定の期間だけを
拡大して見られます
-
これらの曲線をもう少し
細かく見たいなら
-
横にドラッグすれば
-
GitHubが自動的にその期間を
見せてくれます
-
どんな活動が行われているかを
見るのに便利ですが
-
とりわけ誰が行っているかが見られます
-
最後にPulseタブを
見ておきましょう
-
レポジトリの中を掘り下げて
-
IssuesやPull Requestsを
管理する方法を
-
かなり詳細に見てきましたが
-
特にGraphsツールを通じて
-
どんな変更が行われ
誰がコードを書いているかが
-
良く見えます
-
Pulseタブは一歩下がって
-
プロジェクトを
ある種遠くから見るものですが
-
より高次から眺めるので
どんな活動が行われているかが
-
よくわかります
-
GitHub プロジェクト・マネジメントの
レシピ集のレポジトリに戻りましょう
-
ここにあるPulseタブを使い
-
もう少し活動が行われているからです
-
いくつPull RequestsやIssuesが
開示されたか
-
また終了されたかがわかります
-
たくさん新しいIssuesが
入ってくるものの
-
あまりIssuesが
終了されていない時期に
-
より掘り下げて何が起こっているかを
確認したいときに使うといいでしょう
-
下にはこの数値の内訳が
書かれているので
-
上記の数値に
どのPull Requestsや
-
Issuesが貢献しているかがわかります
-
例として開示されている
Pull Requestsのひとつを見てみましょう
-
このツールを使って
直面するかもしれない
-
ワークフローでの問題を
掘り下げる方法を見ていきます
-
例えば Pull Requestのひとつは
-
レビューが必要な副菜のレシピです
-
4日間開示されていますが
-
あまり活動はされておらず
-
開示されてから終了されていません
-
このPull Requestにおける
会話をチェックしてみましょう
-
誰かが副菜のアイディアを提出し
-
GitHub Teacherがコメントを返しています
-
「Crockpotというのは商標化された
名前では?」と言っています
-
プロジェクト・マネジャーとして
ここで行き詰っていることがわかるので
-
コメントを返すのもいいでしょうが
-
このレシピ集のレポジトリにある
-
法律関係のチームを引き入れて
-
彼らを@を使ってメンションします
-
このIssueを先に進めるために
-
考えてみて答えをくれるように
頼むのです
-
コミュニケーションを増やすことを
目的としているので
-
行き詰まりの原因かもしれない
問題を見つけて
-
デベロッパーが仕事を
終えられるように手助けするのです
-
そこでコメントを返してみました
-
「法律部門の人へ
『Crockpot』は使えますか?」
-
法律部門が通知を受け取ってから
-
コメントを返してくれて
-
このissueを解決に導く
手助けをしてくれるといいのですが
-
解決したらPull Requestを
マージすることができます
-
ここで少し振り返りましょう
時間がなくなってきました
-
色々なことをお話ししました
-
レポジトリの高次ビューや
-
レポジトリに何が含まれ
ファイルをどうやって管理するかなど
-
入ってくる仕事量を管理するため
Issuesを使う方法や
-
Issuesにフィルターをかけたり
並べ替えたり
-
Labelを割り当てたり
あるIssueを特定のスタッフに
-
割り当てる方法もです
-
Milestoneを使って一歩引いて
-
そのIssuesが何に貢献しているかを
確認する方法も見ました
-
Pull Requestを使って
-
その方程式の反対側―
-
つまり入ってくる仕事の管理の後は
-
済んだ仕事の管理を
しなければならないので
-
管理し レビューを行い
-
必要があれば承認もします
-
それから活動を報告するために
-
使えるツールもいくつか紹介しました
-
GitHubの言葉を借りて言えば
-
レポジトリで起こっていることや
-
その活動がどんなものかという
脈動を知るためのツールです
-
これらを念頭に置いて
-
少しQ&Aを行うことにしましょう
-
質問があればどうぞ
速すぎてわからなかったから―
-
くり返してほしいというのでも
歓迎です
-
質問を質問ボックスに入力してください
-
時間の許す限り
できるだけたくさん
-
お答えしたいと思います
-
(シンシア) 皆さんがサインオフする前に
-
このコースはGitHubでできることの
-
ほんの紹介です
-
月に一度―
-
公開コースも開講しています
-
オンラインですから
仕事のある日にも受講できます
-
GitHubの使い方をもっと深く
お教えします
-
あなたのワークフローや
チームのワークフローの使い方―
-
効果的に協力的に
仕事ができるようになります
-
ぜひ興味があれば
-
スケジュールをご覧になって
クラスに登録してください
-
そのクラスでまたお会いしましょう
-
最後にひとつアンケートを出しますね
-
このクラスを行うのは初めてなので
-
今後改善できるように
フィードバックをもらえると
-
ありがたいです
-
できれば 全般的な意見―
-
今日のクラスをどう思ったかを
教えてください
-
もう少し私たちは残って―
-
質問タブに上がった質問に
答えたいと思います
-
どうもありがとうございました
-
(アレン) シンシア
それではここで
-
いくつか質問が来たようなので
-
答えてみましょうか
-
ある質問は―
-
「GitHubと他のサービスを
統合する方法は?」です
-
端的に言えば できます
-
他のサービスと統合することは可能です
-
例えば GitHubを
気に入っているCIツールと
-
統合したいとします
-
コードレビューとコードテスティングに
continuous integrationを
-
使うなどします
-
GitHubは他の多くのプラットフォームと
統合できますので
-
例えば...
ここに私の画面を出しますね
-
github.com/integrations
-
あなたが気に入って使っているツールのうち
-
統合できるすべてが
-
書かれたサイトがあります
-
ここを見てみると
-
AsanaやPivotalTracker
Zendeskなども可能だとわかります
-
Travis CIやCloudBeesや
Circle CIなど
-
GitHubは多くのサービスと
統合できます
-
より高いレベルでの答えとしては
-
他のサービスと統合でき
-
GitHub web hooksを使います
-
これは別のウェビナーの
トピックなので
-
ちゃんと説明するには
もう少し詳細な情報が必要です
-
一般的に言えば
それがプロセスです
-
GitHub webhooksを使って
他のサービスと統合します
-
次を見てみましょう
-
質問は「様々なファイルタイプを
-
複雑なレポジトリを入れるための
-
アイディアを得るには
どこに行けばいいでしょうか?」
-
これは質問の意図がよくわかりません
-
質問を言い直してもらってもいいですか?
-
(シンシア) その質問への
答えのひとつとしては
-
GitHubがすでに大きな
オープンソース・コミュニティを
-
形成しているので
話題のレポジトリを見れば
-
新しい情報が得られます
-
GitHubにあなたのユーザー名で
サインインしたら
-
ちょっと行ってみますね
-
GitHub Teacherを見てみます
-
そうですね
-
アレン あなたの画面でやってみて
-
ちょっとここでは難しいので
-
- (アレン) いいよ
- (シンシア) github.comに行って?
-
(アレン) もちろん
すみませんね
-
テクノロジーは素晴らしいね?
(シンシアの笑い声)
-
話題のレポジトリを見るということで
いいのかな?
-
そうだね
-
(シンシア) ええ ありがとう
ここでわかるのは
-
様々なタイプのレポジトリがあって
-
これらはたくさん活動が
行われているものです
-
もっと複雑なファイルタイプのものを
見つけるには
-
ここから始めるのがいいかもしれません
-
役に立ったでしょうか?
もっと特別な例の話でしたか?
-
いいですね
-
(アレン) 素晴らしい
-
これでセッションを終わりにしたいと思います
ちょうど時間切れです
-
画面に私たちの
連絡先を表示させておきますね
-
シンシア・リッチとアレン・スミス―
-
私たちはGitHubの講師です
-
シンシアにGitHubで
コンタクトを取るには@crichIDまで
-
彼女のメールアドレスは
crichID@github.comです
-
私のハンドルネームは@loranallensmith
メールはloranallensmith@github.com
-
質問があればメールで連絡をしてください
-
気軽に声をかけてくださいね
-
(シンシア) ほんの数分しかないので
手短に言いますが
-
GitHub Enterpriseの持つ
オプションについての良い質問が来ました
-
これは大きな問いです
-
GitHub.comと
GitHub Enterpriseの機能が
-
対等であるようにしているので
-
今日ご覧になったほとんどは
-
Enterpriseでも利用できます
-
とは言うものの Enterpriseには
-
実質的な違いがあります
-
GitHub.comでは変更をいつでも
送信できるのに対して
-
Enterpriseでは管理者によって
-
いつ最新のアップデートが
ロードされるか管理されます
-
常に同じissuesが見られないのは
そのためです
-
それでも .comの方で利用できるのは
-
Enterpriseでも使えるように
努力しています
-
今日扱った中で特定の機能が
-
Enterpriseでも使えるか知りたければ
-
知らせてください
お答えできます
-
(シンシア) さてちょうど1時間が経ちました
-
皆さん 参加してくださって
ありがとうございました
-
質問もありがとう
-
アレンが言ったように
質問がまだあれば
-
私たちのどちらかに
直接ご連絡ください
-
今日の参加をありがとうございました