GitHub社教育エバンジェリストのJohn Britton氏によるテクニカルハンズオン!
GitとGitHubの紹介とハンズオンです。内容を簡単に紹介したいと思います。
スクーでの録画も公開されているので、興味のある方はこちらもご確認ください。
まずは、Gitの説明から
上のスライドが、Gitを理解する上で重要なのだそうです。
Gitではファイルの管理をする際に3つの状態があり、スライドではWorking、Staging、Repoという表記になっていました。
ここからの説明は鉞が飛んでこないことを祈りつつ、簡略に説明します。
ちなみに、ここの説明は全てローカルマシン内で完結する話です。
Working
ここでいうWorkingは、素の状態の作業ディレクトリのことを言います。後に説明する、Staging(ステージ)に乗せる前の状態です。ファイルの変更をしても、Git上ではその変更は管理されません。
Staging
ステージと呼ばれることもあります。Workingの変更をコピーしておく、一時待機場所と理解しておくと良いかもしれません。
git add
というコマンドで特定のファイルをステージに乗せる(これをステージングするとも言います)ことができますし、git reset
コマンドでステージから降ろすこともできます。
Repo(Gitディレクトリ)
Gitディレクトリとも呼ばれる場所です。ステージングしているファイルの状態を記録しておく場所です。一度ここの状態に来ると、永続的に記録されます。git commit
コマンドでStagingのファイルを記録できます。コミットした状態がここにあたります。
これらの3つの状態について、コマンドを使って実際にファイルを変更させながら説明してくださいました。
ここの概念は実際にGitを使いながら覚えていく部分もあり、初見の方には少し難しいかもなぁと思いました。参加者の皆さんは食い入るように真剣に話を聞いていました。
後半はGitHubの使い方について
後半はGitHubの使い方についてお話をしていただきました。
リモートリポジトリ
Gitディレクトリにあるファイルをサーバー(GitHub)上にアップロードします。GitHub上にもリポジトリが作成されますが、これをリモートリポジトリと呼ぶことがあります。
当日は、https://github.com/johndbritton/japanというリモートリポジトリを作成し、ここでこの後説明するissueやプルリクエストの使い方などの解説もしてくださいました。 ※今はもう消されてるみたいですね
issue
リモートリポジトリ上で、作業者グループや外部の人がソースコードに対して、バグ報告やタスクなどを追加することができる機能です。
GitHubは複数人での開発を支援するツールでもあるので、こういった機能が付いています。
プルリクエスト
リポジトリ作成者に対して変更の提案を送ることができ、変更履歴なども管理できる機能です。
実際の開発では、メインのリポジトリ管理者に対して、作業者がプルリクエストで更新や変更・修正の提案を行っていき、管理者側が変更を取り入れる、という流れで開発します。
他にも色々と話をしてくださったのですが、GitとGitHubの使い方の詳細については、別の機会に紹介できればと思います。
すぐに知りたい方はスクーの録画をご覧ください!
スクーの聴講者も考慮して、GMの堀江さんがJohnさんの発言内容を全て同時通訳してくださり、かなり分かりやすく豪勢な布陣となっていました笑
沖縄とも中継しました!
こんな感じで行われた今回のハンズオンイベントですが、“日本法人設立後初”や“GitHub社の方が来日”というホットなワードが並んでいたためか、地方からも参加したいとの声が多数ありました。
そんな流れで、会場提供のギークスの沖縄ラボの方々は沖縄でサテライト会場を作り、イベントの様子をスクーでパブリックビューイングしながら参加してくださいました。
地方まで盛り上げられるGitHubってすごい影響力ですね。
沖縄会場の様子も見ながらイベントを盛り上げました。協力してくれた沖縄企業の方々もありがとうございました!