違いを解説君

あるゆる物事の"違い"をわかりやすく解説する情報マガジン

Webデザイン

ITの違い

GitとGitHubの違いをわかりやすく解説!機能や役割をチェック!

プログラマーにとって必需品のひとつが『バージョン管理システム(VCS)』ですね。

『バージョン管理システム』の中でも、現在よく利用されているものが『Git』です。

 

はなこ
プログラムやドキュメントなんかを管理する仕組みに『Git』ってあるじゃない。

最近、『GitHub』ってものを見つけたんだけど、いったい何が違うの?

『バージョン管理システム』のことだね。

『Git』は使ったことあるけど、『GitHub』については僕もよく知らないな。

たろう
はなこ
『Git』と『GitHub』の違いについて、調べてみたいわね。

 

今回は、『Git』と『GitHub』の機能や役割について調べ、その違いを解説します。

スポンサーリンク

『Git』や『GitHub』の機能や役割

まずは、『Git』や『GitHub』が、どのようなものなのかを見ていきましょう。

『Git』とは?

プログラムのソースコードなどの変更履歴を記録・追跡するための分散型『バージョン管理システム』

のことです。

『バージョン管理システム』とは、プログラムのソースコードの変更履歴を管理する目的で作られたソフトウェアです。

プログラムを作成する時、失敗して元に戻したくなった経験はないでしょうか?

また、過去に作成したプログラムに、修正や機能追加をした後、さらに問題が発生して、元に戻したい場合もよくある話です。

そのための保険として、昔はファイルのバックアップを取っておいたり、過去のソースをコメントとして残しておくことをしていました。

『バージョン管理システム』は、そのような手間を自動的にしてくれるツールです。

特に複数の人間が、ひとつのプロジェクトに参加してプログラムを作成する場合、ソースコードの管理を手作業で行うことは、ほとんど不可能になります。

そのようなとき、『バージョン管理システム』が自動的に管理してくれるわけですね。

『バージョン管理システム』として、古くから使われていたものに『CVS』というものがあります。

『Git』は、『CVS』にあった不満点などを解消するためにLinuxの生みの親であるリーナス・トーバルズによって開発された、比較的新しい『バージョン管理システム』です。

 

『GitHub』とは?

GitHub社によって運営され、個人や法人を問わず利用できる、『Git』を使ったWebサービス

のことです。

『GitHub』は、誰もが『Git』を利用してソースコードなどを管理できるようにするためのWebサービスです。

もともとは、

『Git』を使いやすくする

というのが『GitHub』がサービスを開始した目的でした。

無料で利用する場合、リポジトリの内容(いわゆるソースコード)は全て公開されますが、リポジトリを非公開とする有償版もあります。

Webサービスではありますが、中身は『Git』そのものです。

複数のメンバーが『GitHub』を使って、開発に携わることができるようになります。

 

はなこ
『Git』や『GitHub』の機能や役割についてはわかったわ。
じゃあ、次は『Git』と『GitHub』の違いについてだね。
たろう

 

『Git』と『GitHub』の違い

スクリプト

スクリプト

『Git』と『GitHub』の機能や役割を見れば、それぞれの違いは明らかですね。

『Git』は、『バージョン管理システム』というソフトウェアのことを指します。

それに対して、

『GitHub』は、『Git』を利用したWebサービスのことを指します。

 

『Git』ができることには、次のようなものがあります。

『Git』ができること

  • リモートからローカルへのソースコードの複製
  • ローカルでのソースコードの変更履歴の記録
  • ローカルの変更内容のリモートへの反映
  • リモートの変更内容のローカルへの反映

『Git』では、リモートとローカルの2つのリポジトリがあります。

リモートは、全体の変更を取りまとめたリポジトリで、ローカルはそれぞれの開発者が持っているリポジトリです。

この2つの環境があることが、

『分散型バージョン管理システム』

と呼ばれる理由になります。

開発者はリモートから自分のローカルへソースコードを複製し、ローカルの中でソースコードの追加や変更などを行います。

そして、変更した内容をリモートの方へ反映するわけです。

このとき、複数のメンバーが一度にひとつのソースコードを編集している場合があります。

その場合、自動的に両方を同時反映できる場合は『Git』がマージしてくれますが、それができない場合は手動でマージを行います。

誰かがリモートへ反映した内容は、他の人がローカルの方へ反映させることができます。

それによって、常に最新のソースコードで開発をすることができるわけです。

 

『GitHub』では次のような機能があります。

『GitHub』の機能

  • リポジトリをコピーする(フォーク)
  • 自分の行った変更を反映するよう、オリジナルのオーナーにリクエストする(プルリクエスト)
  • 他人が変更した内容を自分のリポジトリに反映させる(マージ)

『GitHub』では、他の誰かが作成したプログラムに修正や機能追加をして、それをオリジナルのものに反映するようリクエストすることができます。

リクエストを受けた人は、その内容を自分のリポジトリに取り込むことができるわけです。

この機能が、『GitHub』が人気のある理由になります。

自分の作ったソースコードを、世界中の人がいろいろと改善してくれるわけですね。

スポンサーリンク

まとめ

今回の違いのポイントについて、まとめていきましょう。

ポイント

  • 『Git』とは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型『バージョン管理システム』のことである。
  • 『GitHub』とは、GitHub社によって運営され、個人や法人を問わず利用できる、『Git』を使ったWebサービスのことである。
  • 『Git』は、『バージョン管理システム』というソフトウェアのことを指すのに対し、『GitHub』は『Git』を利用したWebサービスのことを指す。

『Git』も『GitHub』も、作成したソースコードを管理するのに役立つ非常に便利なツールです。

あなたがソースコードの管理に困っているのなら、ぜひ活用してみましょう。

関連記事

-ITの違い

Copyright© 違いを解説君 , 2020 All Rights Reserved.