1. GitHubとは?わかりやすく解説
まずは、GitHubの概要とGitHubでできることについて解説します。
GitHubの読み方
GitHubの読み方は「ギットハブ」。「Git」はバージョン管理システムを指し、「Hub」は”拠点”や”中心”を意味する英語です。
GitHubの概要
GitHubとは、GitHub社によって運営されている、アプリケーション開発プロジェクトのためのソースコード管理サービスです。Web上でソースコードの共有、編集、バージョン管理とプロジェクト管理を行うことができ、チームで効率よく開発を進めるのに役立ちます。
GitHubは個人・企業問わずに無料で利用可能です。
GitHubとGitの違い
Gitはソースコードの変更履歴を管理する分散型バージョン管理ツールで、Linuxの生みの親であるリーナス・トーバルズ氏がLinuxカーネルの開発のために産み出したものです。
GitHubはGitの仕組みを応用し、Web上でソースコードのバージョン管理と公開を可能としたサービスです。つまりGitHubは、GitをWeb上でサービス化したものということです。
GitHubでできること
GitHubが提供する機能で実現できることは以下の通りです。
-
・ソースコードのバージョン管理
・ソースコードの共有・公開
・プロジェクト管理・コミュニケーション
ソースコードのバージョン管理
GitHubに登録したソースコードに対して加えた変更点を、バージョンとして複数世代管理できます。そのため、過去の任意のバージョンに戻すことも可能です。
ソースコードの共有・公開
ソースコードをチーム内で共有することで、ソースコードの分担・統合を行いながら効率よく開発を進められます。インターネット上にソースコードを公開することも可能です。
プロジェクト管理・コミュニケーション
GitHubはソースコード管理だけではなく、プロジェクト管理やメンバーとのコミュニケーション機能も搭載しています。
プロジェクト管理としては、課題管理(Issue)や、スケジュール管理(Milestone)などの機能が用意されています。コードレビュー(Pull Request)や課題管理機能を使ってコミュニケーションツールとしても利用可能です。
Gistとは?
GitHubと混同することもある「Gist」ですが、GistはGitHubのサービスの一部で断片的にソースコードや文章を公開できる機能を持っています。Gistでは、GitHubのアカウントがなくてもソースコードを公開できるのが利点です。
2. GitHubを使うための前提知識
GitHubとは何か分かったところで、実際に使用する前に最低限知っておきたい用語と考え方についてわかりやすく解説します。
リポジトリ
リポジトリとは、GitHubでバージョン管理を行いたいファイルやディレクトリの状態を記録・管理する場所を指します。記録された状態は、ファイルの変更履歴として管理されます。リポジトリは「ローカルリポジトリ」と「リモートリポジトリ」の2種類に分けられます。
ローカルリポジトリ
ローカルリポジトリは自分のPC上のリポジトリです。開発メンバー一人ひとりがそれぞれのPC上で作業を行えるよう個別にPC上に配置します。
リモートリポジトリ
リモートリポジトリは、PC上ではなくネットワーク上の専用サーバーなどに配置してチームで共有するリポジトリです。
リポジトリの基本的な利用イメージ
開発メンバーそれぞれの作業PC上で、リモートリポジトリから取得したファイルの変更を行い、ローカルリポジトリに反映します。その後、変更内容をリモートリポジトリにアップロードするという方法で反映させます。リポジトリを2種類に分けることで、チームで効率よく開発ができるようになります。
ブランチ
ブランチは、作業を分岐させて変更履歴を記録するためのものです。ブランチはそれぞれ独立しているため、ほかのブランチで保存されている現行のバージョンのソースコードに影響を与えずに、同じリポジトリ内でバグ修正や機能追加などを個別に開発できます。
コミットとプッシュ
コミットは、ソースコードの追加や修正をローカルリポジトリに反映し、そのタイミングのバージョン履歴を残すことを指します。
プッシュは、ローカルリポジトリの内容をリモートリポジトリにアップロードすることです。コミットとプッシュを行った時点で、ソースコードに加えた変更が同期・確定されることになります。
インデックス
インデックスとは、ローカルリポジトリにコミットする前のファイルを一時的に保存する領域のことです。
フォーク
フォークは、ほかの人のリポジトリをコピーしファイルの編集を行える機能です。オリジナルのファイルへの編集権限がなくても自分のGitHubアカウントに取り込むことで編集できますが、変更はオリジナルのリポジトリには反映されません。
プルリクエスト
フォークの機能を使って行った変更をオリジナルのものに反映させたい場合に、オリジナルのオーナーに通知を行う機能を指しています。
マージ
マージとは、プルリクエストを受けたオーナーが自分のリポジトリに加えられた変更を反映させることです。
3. GitHubの基本的な使い方
次に、GitHubの基本的な利用方法について、最初の導入・準備から基本的なソースコードの変更・反映までを解説します。
アカウント作成
GitHubを利用するには、まずアカウント登録が必要です。GitHub公式サイトからサインアップを選択し、ユーザー名とパスワードを登録してアカウントを作成します。有料プランもありますが、初心者はまずは無料のFreeプランがおすすめです。
リポジトリ作成
アカウント登録が完了したら、いよいよGitHubを利用できる状態になります。GitHubにログインし、ソースコードなどを登録するためのリポジトリを作成します。Public(公開)もしくはPrivate(非公開)を選択できるので、用途・目的に応じてリポジトリを作成しましょう。
ファイルの作成・編集
リポジトリが作成できたら、ファイル名を入力してソースコードなどのファイルの登録を行います。その後は自由にソースコードの編集を行うことが可能な状態に。既存のソースコードに対して追加開発を行う場合は、ブランチを作成して個別に編集を行うことで、既存のコードを保全したまま追加・改修できます。
リポジトリへの反映
ファイルの編集が終わったらコミットを行います。コミットを行うことでローカルリポジトリに反映され、バージョン履歴が記録されます。その後、リモートリポジトリのURLへプッシュし、ローカルリポジトリの内容をリモートリポジトリに反映します。
4. 就活に役立つGitHubの活用方法
GitHubとは、開発者にとって非常に便利なソースコード管理サービスであることが分かりました。さらに、GitHubは仕事に役立つだけではなく、就職活動中に活用することもできます。
たとえば、作成したソースコードをGitHubでポートフォリオ(作品集)として公開することで、コーディング技術をアピールできる可能性があります。 近年では、エンジニア採用でGitHubを活用する「GitHub採用」を行う企業や、採用ページの応募フォームからGitHubのURLを入力可能にしている企業など、GitHubを採用に活用したいと考える企業が増えています。
GitHubアカウントを閲覧した採用担当者が優秀と判断したら、企業側からアプローチされるかもしれません。GitHub採用に臨む際は、READMEを作成して採用担当にわかりやすいよう技術や構成、目的などを示しておくと良いでしょう。
5. まとめ
GitHubとは、Gitの仕組みを応用しWeb上でソースコードを管理・公開するためのサービスです。ソースコードのバージョン管理や共有・公開、コミュニケーション機能などを搭載しています。
就活では、GitHub上に自作のソースコードを公開して、企業にコーディング技術をアピールすることも可能。ITエンジニアを目指す方は、学生のうちからGitHubを活用すると良いでしょう。
ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー
レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。
就活アドバイザーに相談してみる