Human ヒューマンリソシア

Ruby on Rails GuidesRuby on Railsの魅力
MENU

GitHubを使ってみよう

このコンテンツを読まれている方はRuby on Railsに興味がある方が多いと思いますが、Ruby on Railsに興味がなかったとしても、OSS系の開発者やWebプログラマーを目指すのであればGitHub(ギットハブ)を使ってみる価値があります。それくらい普及している物であり、評価されているプログラマーやOSS開発者のためのサービスです。

では最初にGitHubとは何かを説明します。Gitはバージョン管理システムで、GitHubはGitのホスティングサービスです。意外に知られていませんが、Gitの歴史は古く、Linuxの創始者であるLinus Torvalds 氏が始めたプロジェクトです。GitHubはGitでバージョン管理されたコードをGitHub上で共有したり、統合したりしながら、チームワークで開発を効率的に進めていくことができます。ネット上で共同開発作業を効率的に進められるのでGitHubのことをソーシャルコーディングサービスと呼ぶ人もいます。

さて、開発現場でOSS系の技術者やWebプログラマーの方と会話をすると「GitHub」や「Git」と言う言葉がちらほら出てきます。特にRuby on Railsの技術者の方と会話すると良く出てくる言葉です。それはGitHubの代表的なプロジェクトの筆頭に挙げられるのがRuby on Railsだからです。GitHub上のプロジェクトでRuby on Railsは開発され、進化しています。GitHubを見ることでRuby on Railsがどのように開発され運営されているかを見ることができます。また、Ruby on Railsに興味がある開発者がどのようなプロジェクトを運営しているかも全部見えます。もちろんコードを見ることもできます。つまりGitHubはこれからRuby on Railsを始める人にとっては勉強材料の宝の山と言えるかもしれません。世界的に有名なプログラマーや大先輩のコードやプロジェクトの進め方などこれから5年10年と学んでいける情報とノウハウが大量に存在しています。ただ、しっかりと認識してほしいのは「GitHubは学ぶ場ではなく、開発プロジェクトを効率的に進めていく場」であるということです。GitHub上で自分の基礎学習のために質問をしたりするのは避けていただきたいです。勉強用に使う場合はあくまで閲覧のみにとどめておいた方が無難です。そして勉強が終わり、いつか腕を上げて自分でプログラムを組めるようになったら、GitHubに自身のプログラムを公開してほしいと思います。それこそがOSS業界への貢献であり、OSS技術者としての将来の自分への投資であり、自身の価値を上げることになります。

GitHubはソーシャルコーディングサービスと説明しましたが、別の側面も持っています。それが将来の自分への投資に関係する話です。GitHubは実は面接時にとても有効なのです。面接で「GitHubのID」を教えてくれませんか?と言われることを耳にします。これはその人の「GitHubのID」を知れば、その人のGitHub上での活動や開発力が手に取るようにわかるからです。面接で人柄を見てGitHubで実力を見ることで採用が決まることもあるということを意味しています。これはこれから始める人にとって良い状況だと思っています。自分が勉強したことをGitHubにリポジトリし、様々なプロジェクトに絡むことで、腕を上げやすいだけではなく、チームワークの在り方も学べ、さらに世界中の技術者とつながることができるのです。入門者からかなりの上級者、日本や世界で活躍する技術者までの道がGitHub上で開けているのです。コツコツと努力を重ね、面接時の武器になる段階になった時に、自己評価のツールとしてGitHubを活用することをお勧めします。

GitHubを始めたいと思う方は無料のIDを発行できるので、まずはIDを発行して使ってみるのが良いです。GitHubはリポジトリ(保存スペース)の数によって課金がされますので、まずはリポジトリ0個の無料IDでいろいろ見てみるとよいと思います。会ったこともない世界最高峰の開発者のプロジェクトを見られるなんて、考えただけでもドキドキしませんか? ソーシャルコーディングって本当に素晴らしいです。

GitHubが評価されている理由を説明します。GitHubの重要な基本機能は「フォーク」と「プルリクエスト」と「マージ」の3つです。「フォーク」は食器のフォークのようにプロジェクトを分岐していく機能です。これはだれかのリポジトリを見て、「これいいかも!」とそのリポジトリを自分のリポジトリにコピーしてプロジェクトを分岐する機能です。自分にフォークしたリポジトリをいろいろいじって良いものにしてそのまま開発してもいいですし、オリジナルのリポジトリにプルリクエストして、マージしてもらうこともできます。プルリクエストはオリジナルのリポジトリの人に「良いのができたから本家のソースに統合してくんない?」とリクエストすることです。プルリクエストを受け取ったオリジナルの人が「おっこれいいじゃん!」となれば、オリジナルのプログラムに自分のプログラムがマージ(統合)されるのです。

つまり、Ruby on Railsを使っていて、「自分だったらここを便利にしたい」と思った人が、Ruby on Railsの本家プロジェクトから自分のリポジトリにフォークして、修正したものを、プリリクエストして採用されたりすることもルールや機能上可能なのです。それが実現すれば、自分が作った機能を世界中の開発者が使うようなことも夢ではないのです。道のりはかなり遠いですが、できる人はできます。プログラマー人生を歩く中で目指してよい方向性だと思います。 ちなみに、この「フォーク」と「プルリクエスト」と「マージ」が一般的なOSSの管理の基本でもあるので、GitHubにはOSS技術者の方が多いのです。そしてWebプログラマーであるならOSSはなくてはならないのものなので、Webプログラマーを目指す人であればGitHubを活用したほうがその後の人生でプラスになります。

では次に、GitHubの始め方をご紹介します。最初に以下のGitHubサイトでIDを発行してください。

GitHub:https://github.com/

ただこのサイトは英語なのです。GitHubがはじめてなうえに英語だと、画面を開いただけで存在が遠くなりそうです。そこでお勧めは入門書を読むことです。お勧めはインプレスの「Web制作者のためのGitHubの教科書」です。この書籍は画像をふんだんに使用して、初心者向けに解説しているので、この本の通りにGitHubを操作していけば一通りの基本機能を全て体験できます。最初はこのような本を参考にするとよいと思います。

最後におまけの情報を。GitHubには上のようなタコ足ネコ耳のキャラクターが登場します。名前をOctCat(オクトキャット)と言います。かわいいですね。OctCatはグッズを売っています。興味がある方は以下のサイトをご覧ください。GitHub使いを目指すのであれば楽しむことも大事です。そういう意味ではグッズもいいのではないでしょうか。

GitHub Shop:https://github.myshopify.com/

執筆者:Rails技術者認定試験運営委員会 共同委員長 吉政忠志