GitHubとは何かわかりやすく解説!機能やメリットも簡単に紹介

GitHubってなに?
Gitとどう違うの?

「GitHub」に関してこのように思っている方も多いと思います。

GitHubは、今や開発者にとってなくてはならないサービスです。また、デザイナーの方からも利便性の高いサービスとして支持を集めています。

しかし、これからプログラミング学習を初めようとしている方や初心者の方にとっては、難しそうなイメージがあったり、いざ学習に取り組んでもわかりづらかったりしますよね。

そこで今回は、GitHubとは何かについてわかりやすく解説します。特徴や機能はもちろん、Gitとの違いや使うために必要な前提知識なども紹介しますよ。なるべく専門用語を使わずに解説していくので、初心者の方でもこの記事を読めばGitHubついてしっかり理解できるでしょう。

GitHubとは?

 width=

GitHubとは個人・法人が無料で利用できるウェブサービス:Shutterstock

GitHubとは、Gitの仕組みを利用して、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開できるようにしたウェブサービスの名称です。その名の通り、「Git」の「ハブ:拠点・中心・集まり」という意味になります。GitHubは、GitHub社によって運営されており、個人・企業問わず無料で利用が可能です。

GitHubに作成されたリポジトリ(保存庫のようなもの)は、基本的にすべて公開されますが、有料サービスを利用すると指定したユーザーからしかアクセスができないプライベートなレポジトリを作ったりできます。また、各プロジェクトにwiki(メモ書き)やタスク管理ツールなど、コラボレーションのための機能も充実しているのが特徴です。

GitHubとGitとの違いは?

Pythonの統合開発環境(IDE)を利用する様子

サービスであるGitHubとツールであるGitは異なる:Shutterstock

GitHubは、さまざまなプロジェクトのためにGitのリポジトリをホスティングできるサービスで、独自の便利な機能もたくさんあります。一方、Gitはコマンドラインツール(ターミナルなどを使ってキーボードで扱うこと)のため、WEB上でグラフィカルに扱える(マウスでポチポチできる)という点でGitと異なります。

「Git」は、プログラミングなどを用いた現場でよく使われている「バージョン管理システム」なのですが、そもそも「Git」がよくわからないという方もいると思います。

GitHubを理解する上では、まずはなんとなくでもGitを知っておいた方が理解しやすいです。Gitがあんまりわからない!という方は、こちらでGitの基本的な概要がわかりやすく学べますよ。

他に、よく使うGitコマンドや、Gitの学習方法など、Gitを使いこなすためのすべてがまとまっているので、GitHubを理解した後にでも参考にしてみてください。

GitHubが支持を集める3つの機能とは

フォーク、プルリクエスト、マージの3つがGitHubの主要機能:Shutterstock

機能1:「フォーク」

GitHubには、「フォーク」という機能があります。

一つのプロジェクトが複数に分派していくのを食器のフォークの先端に例えているのが名称の所以です。それをGitHubでは、誰かのリポジトリをほかの人がコピーすることによって行います。オリジナルのものに対する編集・アクセス権限がなくても、自分のところで改変が可能です。

機能2:「プルリクエスト」

次に、「プルリクエスト」という機能です。自分が行った変更をオリジナルのものに反映したい時に使います。オリジナルのオーナーに「プルリクエスト」と呼ばれる通知を送れます。

機能3:「マージ」

capture_pull_request1_1_2

GitHubには、「フォーク」「プルリクエスト」「マージ」の3つの機能がある。

引用元:サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/

最後の機能は「マージ」です。先ほどのプルリクエストを受け取ったオーナーは、ボタンをクリックするだけでその人のリポジトリに対して行われた変更を自分のリポジトリにも取り入れられます。

ちなみに、人のコードを自分のコードに導入するのを「マージする」と言います。マージは、複数の開発者が関わるプロジェクトにおいて最重要な工程であり、GitHubではそれを安全かつ迅速に行うことがでるのです。

「フォーク」「プルリクエスト」「マージ」の3つの機能があることによって、GitHubが人気の高いサービスとして支持されているのです。

GitHubを使う前に押さえておくべき3つの知識とは?

GitHubを使う前に押さえておくべき3つの知識がある:Shutterstock

GitHubを使っていく上で、前提として知っておいた方が良い知識や用語があるので、それをご紹介しておきます。

ローカルリポジトリとリモートリポジトリ

5min_git2

ファイルやディレクトリの状態を保存する場所は、「ローカルリポジトリ」と「リモートリポジトリ」の2箇所がある。

引用元:Casley Consulting, Inc. https://www.casleyconsulting.co.jp/blog/engineer/118/

リポジトリは、先ほど上でも出てきたファイルやディレクトリの状態を保存する場所です。変更履歴を管理したいディレクトリ(フォルダ)などをリポジトリの管理下に置くことで、そのディレクトリ内のファイルなどの変更履歴を記録することができます。

リポジトリは自分のPC内にある「ローカルリポジトリ」とサーバなどネットワーク上にある「リモートリポジトリ」の2箇所にあります。基本的にローカルリポジトリで作業を行い、その作業内容をリモートポジトリへプッシュする流れで行います。

コミットとプッシュ

  • コミット(commit) :ファイルの追加や変更の履歴をリポジトリに保存すること
  • プッシュ(push) :ファイルの追加や変更の履歴をリモートリポジトリにアップロードするための操作

ブランチ(branch)

capture_stepup1_1_1

Gitには、並行して行われる複数のバージョン管理するための「ブランチ」がある。

引用元:サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/

ソフトウェアの開発では、現在リリースしてるバージョンのメンテナンスをしながら、新たな機能追加やバグ修正を行うことがあります。

このような、並行して行われる複数のバージョン管理を行うために、Gitには「ブランチ(branch)」という機能があります。ブランチは履歴の流れを分岐して記録していくものです。

分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ内でそれぞれの開発を行っていくことができます。

GitHubのアカウント作成方法とは?

GitHubのアカウントを作成してみましょう。まずは、GitHubのサイトにアクセスしてみてください。

スクリーンショット_2016-07-13_16_07_45

引用元:GitHub https://github.co.jp/

ここで、ユーザ名とメールアドレス、パスワードを入力して、アカウント登録を行ってください。続いて、プランを選択します。有料のプランもありますが、まずは無料で使えるFreeプランを使ってみましょう。「free」を選んでから「Continue」ボタンをクリックします。

スクリーンショット_2016-07-13_16_12_19

引用元:GitHub https://github.co.jp/

あとは登録したメールアドレスに認証のメールが届くので、メールの内容に従いユーザ認証を行うだけで、GitHubのアカウント登録は完了です。

効率よくGitHubを学ぶなら

「何から学び始めればいいの?
難しそうだし、挫折したらやだな…。」

ここまでGitHubについて解説してきましたが、内心ではこのような悩みを持っている方もいるのではないでしょうか。

そんな方には、弊社が運営するサブスク型のプログラミングスクール「SAMURAI ENGINEER Plus+がおすすめです。

月額2980円(税別)で、主に4つのサービスを提供させていただきます。

  • 現役エンジニアによる月1度の「マンツーマン指導」
  • 平均回答時間30分の「Q&Aサービス」
  • 作りながら学べる28種類の「教材」
  • 学習を記録&仲間と共有できる「学習ログ」

目的にあった教材を選べば、どなたでも効率よく学習できるほか、Q&Aサービスやマンツーマン指導を活用することで、挫折せずにGitHubの習得が可能です。

GitHubを効率的に習得したい人はもちろん、何から始めたらよいのかわからない方は、ぜひ「SAMURAI ENGINEER Plus+」をご利用ください。

詳細はこちら

まとめ

今回は、GitHubとは何かについて解説しました。

世界中のプログラムやデータが集約されたウェブサービスGitHubは、今や開発者にとってなくてはならないサービスです。

「車輪の再発明」という言葉もありますが、これまで先人が蓄積してきた知恵と経験が集まるGitHubを活用できるかどうかは、エンジニアとしての成長やキャリアアップに大きく影響します。

GitHubの知見を獲得したこの記事を機に、活用できるようになり今後の作業スピードや質を向上させてみるのも良いですね。

この記事が、あなたのキャリアアップの一助となれば幸いです。

書いた人

侍エンジニア編集部

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら