Umi Uyuraのブログ

プログラミング関連の作業ログ

GitHub PatchWork Tokyoへ参加しました

GitHubが開催するハンズオン・イベントが、9月3日にありました。

GitHub Patchwork Tokyo

当日ふと見たら定員に空きがあったので、先日「GitHubの教科書」を読んでGitHub熱(?)があがっているうちにプルリクエストを体験できるなら、と思い参加してみました。

umi-uyura.hatenablog.com

GitHubメンバー紹介

現在2名の日本人の方( @diceさん@ikeike443さん )の他にも、海外からもGitHubメンバーが来てくれていました。

ハンズオンに入る前に、その中の Charlie Somerville氏 (@charliesome) による簡単な自己紹介があり、現役のRubyコミッターでもあるCharlie氏が、どのようにOSSに出会い、参加していき、そしてGitHubへ加入するにいたったかということを話してくれました。

オーストラリアに住んでいるCharlie氏は、高校生のころ?に父親からもらった「Perl in 24 hours」という書籍でプログラミングを学び始めてから、やがてRuby(MRI)の勉強をはじめると、バグレポートを送り続けているうちにパッチを送るようにもなり、2012年にコミット権限をもらうに至ったそう。

さらにGitHub独自のRuby実装(github/ruby) を持っているらしいのですが、そこにもコミットしているうち?に、GitHubから声がかかり、現在に至っているそうです。

しかも、大学へ進学せずにGitHubへ入られたということで、逆算すると、今は24歳前後くらいなのでしょうか?

聞けば聞くほど素晴らしく優秀な人なので、なんかもう違う世界の人のような感じがしてしまいますが、OSSへ貢献したことで人生の選択肢を広げたというのは、今の時代のプログラマーとしては目指していきたいところの一つだと思います。

ハンズオン

開始前にはピザとドーナツが振る舞われ、お腹も満たしつつゆっくりと進めました。

Git-it

ハンズオンは、 Git-it (Desktop Version) という学習ツールを使い、それを各々のペースで進めていきましょうというものでした。

とはいえ、周りにはGitHubメンバーやメンターの方々が見回っていてくれたので、質問などがあればすぐにサポートしてもらえる環境です。

Git-it (Desktop Version)は、どうやらコマンドライン版の jlord/git-it のElectron版のようでした。

Electronでデスクトップアプリ化されているので、エンジニア以外の人にも取り組みやすくなっています。

ちなみに、そのコマンドライン版Git-itは、コマンドライン向けの演習ツールを作る workshopper/workshopper ベースのもので、 同様なNode.js関連の学習ツールを紹介している NodeSchool にも掲載されているもののようです。

GitHubの方が作られていたんですね。

学習結果

最近はバージョン管理にGitがメインになりつつありますが、 git コマンドを使うのは git init とか git clone するときくらいで、その後の操作はもっぱらEmacsのGitインターフェイスであるMagitを使っているので、きちんとコマンドラインを使うとなると、緊張しますね。

流れとしては、リポジトリを作ってコミットする練習をしたあとで、 課題用のリポジトリをフォーク→クローン→ブランチを作って編集・コミットしてPush→最終的にオリジナルリポジトリへプルリクエストする、というようなもの。

f:id:umi-uyura:20150907021026p:plain

なんとか時間内にひと通り終わり、 PatchworkのGitHub pages に名前を載せることができました。

というわけで、念願の初プルリクエストとなりました。

感想

ひとりでプログラム組んだりしていると、外のプロジェクトにプルリクエスト送る機会などなかなかないので、今回トレーニングとは言え、体験できる機会を得られたのは良かったです。

とは言えOSSへ貢献するところまで行くには、それなりにそのプロジェクトを使い込んでいないとできないと思うので、まずはもっとコードを書いていかないとなーと思う次第です。

そう言えば、会場に印刷されたGitコマンドのわかりやすいCheet Sheetがあったのですが、 GitHub Training からダウンロードできるようです。

日本語版もあるのが、とてもありがたいです。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)