
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
1.GitHubとは?わかりやすく解説
まずは、GitHubの概要とGitHubでできることについて解説します。そもそも、GitHubの読み方は「ギットハブ」です。「Git」はバージョン管理システムを指し、「Hub」は”拠点”や”中心”を意味する英語です。
GitHubの概要
GitHubとは、GitHub社によって運営されている、アプリケーション開発プロジェクトのためのソースコード管理サービスです。Web上でソースコードの共有、編集、バージョン管理とプロジェクト管理を行うことができ、チームで効率よく開発を進めるのに役立ちます。
GitHubは個人・企業問わずに無料で利用可能です。具体的に詳しい使い方やツールの詳細は下で解説していきますね。
GitHubとGitの違い
Gitはソースコードの変更履歴を管理する分散型バージョン管理ツールで、Linuxの生みの親であるリーナス・トーバルズ氏がLinuxカーネルの開発のために産み出したものです。
GitHubはGitの仕組みを応用し、Web上でソースコードのバージョン管理と公開を可能としたサービスです。つまりGitHubは、GitをWeb上でサービス化したものということです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
2.なぜGitHubを使うのか?
では、どうしてエンジニアはGitHubを使って開発をするのでしょうか?ここでは、GitHubを使う利点を解説します。
開発効率が上がるから
GitHubを使うことで開発効率を上げることが可能になります。ソースコードの管理や過去の開発コードのバージョン管理をGitHub上で簡単にできるため、コードの共有や修正箇所の共有が容易になります。これまでは、別の人がコードの同じ部分を開発しないように開発箇所によって担当を分けて開発を進め、開発が終わったらそれを統合して管理するというプロセスが必要でしたが、GitHubがあるとGitHiub上で簡単に管理を行えるため、共有や認識を揃える手間を省くことができ、効率よく開発を進めることができるようになります。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
3.GitHubでできること
では具体的にGitHubではどのようなことができるのでしょうか。ここでは、GitHubで具体的にできることを解説していきます。
ソースコードのバージョン管理
GitHubに登録したソースコードに対して加えた変更点を、バージョンとして複数世代管理できます。そのため、過去の任意のバージョンに戻すことも可能です。
ソースコードの共有・公開
ソースコードをチーム内で共有することで、ソースコードの分担・統合を行いながら効率よく開発を進められます。インターネット上にソースコードを公開することも可能です。
プロジェクト管理・コミュニケーション
GitHubはソースコード管理だけではなく、プロジェクト管理やメンバーとのコミュニケーション機能も搭載しています。
プロジェクト管理としては、課題管理(Issue)や、スケジュール管理(Milestone)などの機能が用意されています。コードレビュー(Pull Request)や課題管理機能を使ってコミュニケーションツールとしても利用可能です。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
4.GitHubを使うための前提知識
GitHubとは何か分かったところで、実際に使用する前に最低限知っておきたい用語と考え方についてわかりやすく解説します。
リポジトリ
リポジトリとは、GitHubでバージョン管理を行いたいファイルやディレクトリの状態を記録・管理する場所を指します。記録された状態は、ファイルの変更履歴として管理されます。リポジトリは「ローカルリポジトリ」と「リモートリポジトリ」の2種類に分けられます。
ローカルリポジトリ
ローカルリポジトリは自分のPC上のリポジトリです。開発メンバー一人ひとりがそれぞれのPC上で作業を行えるよう個別にPC上に配置します。
リモートリポジトリ
リモートリポジトリは、PC上ではなくネットワーク上の専用サーバーなどに配置してチームで共有するリポジトリです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
リポジトリの基本的な利用イメージ
開発メンバーそれぞれの作業PC上で、リモートリポジトリから取得したファイルの変更を行い、ローカルリポジトリに反映します。その後、変更内容をリモートリポジトリにアップロードするという方法で反映させます。リポジトリを2種類に分けることで、チームで効率よく開発ができるようになります。
ブランチ
ブランチは、作業を分岐させて変更履歴を記録するためのものです。ブランチはそれぞれ独立しているため、ほかのブランチで保存されている現行のバージョンのソースコードに影響を与えずに、同じリポジトリ内でバグ修正や機能追加などを個別に開発できます。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
コミットとプッシュ
コミットは、ソースコードの追加や修正をローカルリポジトリに反映し、そのタイミングのバージョン履歴を残すことを指します。
プッシュは、ローカルリポジトリの内容をリモートリポジトリにアップロードすることです。コミットとプッシュを行った時点で、ソースコードに加えた変更が同期・確定されることになります。
インデックス
インデックスとは、ローカルリポジトリにコミットする前のファイルを一時的に保存する領域のことです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
フォーク
フォークは、ほかの人のリポジトリをコピーしファイルの編集を行える機能です。オリジナルのファイルへの編集権限がなくても自分のGitHubアカウントに取り込むことで編集できますが、変更はオリジナルのリポジトリには反映されません。
プルリクエスト
フォークの機能を使って行った変更をオリジナルのものに反映させたい場合に、オリジナルのオーナーに通知を行う機能を指しています。
マージ
マージとは、プルリクエストを受けたオーナーが自分のリポジトリに加えられた変更を反映させることです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
5.GitHubを使うまでの流れ
次に、GitHubの基本的な利用方法について、最初の導入・準備から基本的なソースコードの変更・反映までを解説します。
アカウント作成
GitHubを利用するには、まずアカウント登録が必要です。GitHub公式サイトからサインアップを選択し、ユーザー名とパスワードを登録してアカウントを作成します。有料プランもありますが、初心者はまずは無料のFreeプランがおすすめです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
リポジトリ作成
アカウント登録が完了したら、いよいよGitHubを利用できる状態になります。GitHubにログインし、ソースコードなどを登録するためのリポジトリを作成します。Public(公開)もしくはPrivate(非公開)を選択できるので、用途・目的に応じてリポジトリを作成しましょう。
ファイルの作成・編集
リポジトリが作成できたら、ファイル名を入力してソースコードなどのファイルの登録を行います。その後は自由にソースコードの編集を行うことが可能な状態に。既存のソースコードに対して追加開発を行う場合は、ブランチを作成して個別に編集を行うことで、既存のコードを保全したまま追加・改修できます。
リポジトリへの反映
ファイルの編集が終わったらコミットを行います。コミットを行うことでローカルリポジトリに反映され、バージョン履歴が記録されます。その後、リモートリポジトリのURLへプッシュし、ローカルリポジトリの内容をリモートリポジトリに反映します。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
6.GitHubの活用事例
続いて、GitHubが実際にどう使われているのか、活用事例を解説していきます。大手企業からベンチャー企業まで、さまざまな企業でGitHubが使われていますので、ぜひここの活用事例を参考にしてみてください。
株式会社ZOZOテクノロジーズ
株式会社ZOZOテクノロジーズでは、GitHubを公式開発プラットフォームとして採用しています。これまではオンプレミス(自社でサーバーを管理すること)でサーバーを管理・運用していましたが、クラウド型のGitHubに移行したことでサーバー保守担当の手間が割く点されただけでなく、ツールの安定性も担保することができるようになりました。「・・レビュー活動が以前よりも活発になり、GitHub上で生産的な議論ができるようになった・・」と担当者も言っており、GitHub上で簡単に他のコードのレビューや会話をすることができ生産性が上がっているようです。
株式会社ZOZOテクノロジーズの活用事例
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
株式会社メルカリ
株式会社メルカリでは、GitHubがグループ会社含む全社統一のプラットフォームとして採用されています。GitHubには、開発を効率的に進めるためのさまざまな付随機能が用意されており、メルカリはそのうちの1つであるセキュリティ対策機能を利用して開発の生産性を上げています。これまで自社製のものを使っていたところを、Github上のセキュリティ対策機能を使うことになったことで、細かい機能のメンテナンスや管理の手間がなくなり、より生産性の高い開発業務に時間を割くことができるようになったようです。
株式会社メルカリの活用事例
富士通株式会社
日経大手企業である富士通株式会社でもGitHubが導入されています。富士通株式会社ではこれまで、複数の部署でさまざまなコード管理が行われており並立してしまっていたため、うまく部署間で知見やノウハウの共有ができていませんでした。GitHubを導入したところ、バージョン管理を一元で行えるようになったので部署間のノウハウ共有がスムーズになり、より生産的な開発活動が行われるようになったといいます。最初は100ユーザーでの導入からスタートしたものの、今や富士通グループ全体で1000ユーザー以上のエンジニアに導入されており、若い技術者を中心に開発生産性が上がるとして積極的な利用が進んでいるようです。
富士通株式会社の活用事例
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
7.GitHubを用いた開発のプロセス
ここでは、GitHubを使ってどのように開発が行われているのか、一例を紹介していきます。GitHubにはさまざまな使い方や活用方法があり、ここで紹介するのはあくまでも一例ですので参考程度にご確認ください。
-
①作業対象のコードをpull
②作業用ブランチを作成する
③コード追加や改修をおこない、終わったらpushする
④プルリクエストを作成する
⑤変更を確認し、レビューを行う(開発者以外)
⑥問題があればフィードバックをし、問題がなければマージする
⑦対応が完了すればプルリクエストをクローズする
まずは開発を担当する部分のコードが入ったファイルをpullして取得し、作業用ブランチで本番環境に影響がないように改修していきます。改修が完了すればpushしてレビュー担当者に開発コードのチェックを依頼します。ここでコードエラーがあれば修正を、なければそのまま本番ファイルにマージして反映させ、実装されます。対応が完了すれば最後にプルリクエストの対応を完了してクローズし、一連の開発が完了です。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
8.まとめ
この記事では、GitHubの特徴やGitHubの使い方について詳しく解説してきました。GitHubは開発を効率よく進める上で必須のツールですので、これからプログラミングや開発をしたい方は一度使ってみて慣れておく必要があります。GitHubの使い方や活用事例はYoutubeや書籍で簡単に公開されていますので、ぜひ一度調べて使い方を学習してみてはいかがでしょうか。
ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー
レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。
就活アドバイザーに相談してみる