聞くは一時、聞かぬは一生

Q333 GitHubとは何ですか?

先日新聞でMicrosoftが「GitHub」の買収を発表したというニュースを読みましたが、この「GitHub」というものはどのようなものなのでしょうか?

A333 GitHubは「Gitを利用した、開発者を支援するWebサービス」です。

「GitHub」の説明の前に、まずは「Git」とはどういうものなのか説明させていただきます。 「Git」は、「ソースコードのバージョンを管理するツール」の名前です。システム開発では複数の開発者によって常にソースコードが書き換わります。つまり、情報錯誤により起こるミスやトラブルを回避するために、「いつ誰がどこを変えたのか? 」「最新のバージョンはどれか?」 など、ソースコードのバージョンを把握する必要があります。このバージョン管理をするツールの1つが「Git」です。 「Git」は元々Linuxの開発においてソースコードなどのバージョンを管理するためのものとして開発されました。Gitの名前の由来は、開発者のリーナス・トーパルズが自分にちなんだ名前ということで「ばか」「まぬけ」という意味のある「Git」にしたそうです。ちなみにリーナスはLinuxの開発者で、Linuxという名前もリーナスの名前が由来です。 Gitの最大の特徴は、ローカル環境(自分のパソコンなど)に、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連する全てのデータに対する変更履歴を含む完全なリポジトリ(データの格納庫)の複製が作成されるということです。これは、各ローカル環境がリポジトリのサーバーとなれるということです。分散型ではない、これまでのバージョン管理システムでは、サーバー上にある1つのリポジトリを、利用者が共同で使っていました。このため、利用者が増えると変更内容が衝突したり、整合性を維持することが大変というデメリットがありました。 Gitでは、ローカル環境にもコードの変更履歴を保存することができるので、リモートのサーバーに常に接続する必要がありません。このため、ネットワークに接続していなくても作業を行うことができます。 こういったメリットが受けて、近年のバージョン管理システムの主流となっています。 対して「GitHub」は、「Gitを利用した、開発者を支援するWebサービス」の名前です。プログラミングの一般用語ではなくて、Githubという企業が作っているひとつのサービスです。GitHubは、クラウド上でGitを用いたバージョン管理をすることができ、さらにGitには無い、開発者に便利な機能を追加しています。いまやユーザ数は1000万人を超え、世界中のソフトウェア開発に利用されています。 「GitHub」は、Gitをより使いやすくすることを目的に、2008年に開発されました。クラウド上でGitの「リモートリポジトリ」を提供することにより、遠く離れた開発者同士でも、「GitHub」を介して効率よく開発を進められるようになりました。 また、Gitには無い機能も追加されています。特にプルリクエスト(Pull Request)という機能は、ソースコードの変更点について他のメンバーにレビュー依頼ができる機能です。レビューがOKとなったソースコードだけを反映させることができるので、品質の向上に役立ちますし、時間の大幅な短縮にもなります。 「GitHub」ではソースコード以外にも、デザインデータや文書などのバージョン管理に利用されています。ホワイトハウスや国土地理院など、行政機関の文書管理に利用するケースも増えているそうです。

この質問に関連した業種の
求人を見ることができます。