今さら聞けないGitとGitHub
そもそもGitとGitHubの違いって皆さんご存じですか?「実はあまり知らなかった!」という方も多いようですので、まずはGitとGitHubについてそれぞれご説明します。
Gitとは
Git(ギット)とは、プログラムソースなどの変更履歴を管理する分散型のバージョン管理システムのことです……と言ってもわかりづらいかもしれないので、ある1つの発表資料をAさんとBさんがPowerPointで作成するシーンを例に、Gitの機能を説明しましょう。
まず、Aさんが大枠のスライドマスターや全体構成、さらに詳細のスライドを作成して、あるフォルダ内に保存しました。そして、Aさんは「このフォルダに保存してある資料には補足資料が必要だから、数字の裏付けのスライドを追加して上書き保存しておいて」と、Bさんにスライドの追加作成を依頼しました。
Bさんは、Aさんに依頼された数値の裏付けのスライドを追加しました。しかし、Aさんの構成に納得できなかったので、全体の構成を変更して上書き保存をしました。
しかし、Aさん自身も納得できてなかったのか、「全体構成を変えよう」と考えていました。Aさんは、Bさんが全体構成を直しているとも知らず、全体構成を変更して再び保存をしました。Bさんが上書き保存した後のことです。すると当然ですが、Bさんが保存した内容は消えてしまいました。
これが、1つの資料を同じ保存先で同時に複数人で管理する集中型のバージョン管理システムで起きうる問題です。
一方、分散型のバージョン管理システムであるGitを使った場合、Aさん、Bさんは、発表資料データと編集ログ(何をどのように変更したのか)を互いに「複製」しながら、編集することができます。また、ファイルの内容の更新は、ファイルそのものではなく編集ログを上書き保存することで行います。
そのため、たとえ複数人で同時編集をしていたとしても、編集ログを参照することで、データの整合性を保つことができます。チームでソフトウェアを開発する際にはこれが大きな利点となるため、Gitの導入は今や主流となっています。
また、コミット、マージ、プル、プッシュといった言葉を耳にしたことがあるという方も多いかもしれません。これらは、Gitで各人が編集した内容(編集ログ)を参照したり、取り込んだり、上書き保存したりするコマンドで、「Gitコマンド」といわれます。
GitHubとは
GitHub(ギットハブ)は、Git(分散型バージョン管理)の仕組みを利用して、ソースコードを共有することができるホスティングサービスです。
驚くべきことに、ソースコードを「公開」すれば、誰でも無料で利用できます(利用料金を払えば、ソースコード「非公開」でも利用できます)。
また、ソースコードのホスティングだけではなく、エンジニア同士でコミュニケーションを取ることができるSNSとしての機能や、issue(イシュー)と呼ばれるチケット管理機能なども備え、タスク管理やチーム開発に優れていることから人気を集めています。
GitとGitHubの違いについてもっと知りたい方は、「そもそもGitって何?」、「GitとGitHubは何が違うの?」にシンプルに答えるよなどの記事も参考にされるとよいでしょう。
GitHub採用とは
説明をしたように、GitHubはソースコードを公開すれば誰でも無料で利用できることから、たとえば、趣味で開発したソースコードを外部に公開してよいと思っている人が、GitHubでソースコードを公開しています。また、オープンソースプロジェクトのお手伝いや作業をGitHub上で行っている人もいます。
この、趣味やプロジェクトへの貢献で作成し、GitHubで公開しているものを履歴書や職務経歴書とほぼ同じように扱い、エンジニア採用や面接を実施するのが「GitHub採用」です。
GitHub採用では、応募者が個人で利用しているGitHubのアカウントを提出してもらいます。中には、自社へのエントリーに細かい個人情報やES(エントリーシート)の提出を求めず、GitHubのアカウントのみで面接を実施する企業もあります。
新卒や中途採用にかかわらず、エンジニアの技術をベースとした採用が主流となっている中で、多くの企業がGitHub採用を取り入れています。以下はその一例です。
- メルカリ「必要なのはGitHubのみ!メルカリは新卒採用もアウトプットで評価します!」
- デザインワンジャパン「GitHub採用のご案内」
- データセクション「GitHub採用(新卒)」
- ソニックムーブ「応募フォーム(GitHub採用)」
- タイレルシステムズ「Github採用 スタートです!」
また、GitHub採用の専用ページを設けなかったとしても、採用時において「GitHubアカウントの提出」を求め、内容によって選考内容をアレンジする、といった事実上のGitHub採用に取り組んでいる企業も多いようです。
しかし、GitHub採用については近ごろ賛否が問われています。そこで次ページでは、GitHub採用のメリット・デメリットなどをご紹介したいと思います。