1. HOME
  2. ブログ
  3. エンジニアになろう!
  4. 【初心者向け】GitHubとは?特徴から発展の歴史を解説

【初心者向け】GitHubとは?特徴から発展の歴史を解説

ソーシャルコーディングとGitHub

ミツオカミツオカ
ソーシャルコーディング」という言葉が話題ですね。これってどういうものなのですか?
にゃんこ師匠にゃんこ師匠
これはな、Webなどを利用して、自分の書いたコードを公開し、共有しつつコーディングしていく事を意味するのじゃ
ミツオカミツオカ
なるほど!そういう意味だったのですねー
にゃんこ師匠にゃんこ師匠
そして、この「ソーシャルコーディング」という言葉の流行と「GitHub」の発展は、密接に結びついておるのじゃ
ミツオカミツオカ
あ!たしかに内容は「GitHub」でやっている事ですね!
にゃんこ師匠にゃんこ師匠
では、今回は改めて「GitHub」をふりかえってみるかの~!

GitとGitHubの違い

まずは、「Git」と「GitHub」の違いから確認していきましょう。

大まかな見取り図を描くと、下記のようになります。

  1. 「Git」は、バージョン管理システムの名前です
  2. 「GitHub」は、Gitを利用した、コードのホスティングサイトの名前です

Gitとは

Git とは、バージョン管理システムの一種です。

バージョン管理システムは、ソフトウェアの開発などで使われる技術で、開発中のシステムのソースコードの管理をより容易にするものです。

誰が?」「どの変更を?」「いつ行ったか?」と「その内容」を記録しておくことで、容易にソースコードに手を加える事ができます。

2種類のバージョン管理システム

そのようなバージョン管理システムには、「集中型」と「分散型」の2種類があります。

以前は、Subversion など集中型のソースコード管理が主流でした。

ですが、Git の登場後、分散型のバージョン管理システムが主流となってきています。

そんな Git ですが、もともとは、「Linuxカーネル」のソースコード管理のために、リーナス・トーバルズによって開発されました。

集中型

メインのソースコードの置き場(レポジトリと言います)で集中的にソースコードを管理します。

分散型

集中的な管理場所を設けず、ソースコードの管理は各々の開発者のもとで、分散的に行われます。

Gitの開発経緯と特徴

Linuxカーネルの開発には、Git 導入以前、他のバージョン管理システムが使用されていました。

ですが、ライセンスなどの関係で、これを使うことができなくなったため、Git が開発されたという経緯があります。

そんな経緯から「消極的に必要最小限の機能をもって開発された」と思われそうですが、そうではありません。

Linuxカーネルという、大規模なソフトウェアの開発で用いられることを想定している為か、信頼性やパフォーマンスが高いのが特徴です。

にゃんこ師匠にゃんこ師匠
こんな風にGitの特徴を活かして、様々なソフトウェア開発の場面で、バージョン管理システムとして用いられているのじゃ
ミツオカミツオカ
リーナス・トーバルズさんについては、こちらの記事も見ていただけると!

GitHubとはどのようなサイトか

「GitHub」とは、Gitをバージョン管理システムとして使用しつつ、リポジトリ(ソースコードの置き場)をWeb上に提供しているサービスです。

GitHub のアカウントを開設すると、GitHub 上に複数のリポジトリを開設することができます。

これを使い、リモートからソースコードの管理を行えます。

GitHubと様々なソフトウェア

また、GitHubの特徴は、大型で有名なものも含め、様々なソフトウェア開発のプロジェクトでも用いられている事です。

エディタの、「Visual Studio Code(ビジュアルスタジオコード)」や、「PowerShell Core(パワーシェルコア)」といった、GitHub の親会社である Microsoft のオープンソースソフトのコードが、ホスティングされています。

さらに、「Brackets(ブラケッツ)」や「NeoVim(ネオヴィム)」といったテキストエディタをはじめとした、多数のオープンソースソフトのコードもホスティングされています。

GitHubの魅力

GitHub の最大の魅力のひとつは、このような著名なソフトウェアのコードを手軽にチェックできることにあります。

Git の機能を使えば、リポジトリを簡単にクローンすることができます。

必要に応じて、クローンしたリポジトリのコードをチェックしたり、あるいは修正を加えることなどもできます。

さらに、GitHub の大きな魅力と言えるのは、自分のソフトウェアのコードを公開し、開発をしていくことができるということです。

GitHub は、開かれた場所であるため、見ず知らずの人にまで自らのソフトウェアのコードとの出会いの機会を提供してくれます。

GitHubとAtom

また、GitHub は Atom(アトム)というエディタの開発者が開発しました。

Atom は、一般的な多機能型のエディタであるほか、Git や GitHub と連携した利用が容易にできることが強みです。

具体的には、本体組み込みプラグインの機能を利用することにより、GitHubリポジトリへのソースコードの「push」や「pull」などを、コマンド入力なしで利用することができます。

にゃんこ師匠にゃんこ師匠
こういった GitHub の特徴が、現在の GitHub の隆盛を導いている、と言えるかもしれんな
ミツオカミツオカ
エディタについては、こちらの記事をみてね!

エンジニアにとってのGitHubの意義

にゃんこ師匠にゃんこ師匠
GitHub や Atom を業務で使いこなすのはもちろん、GitHub で公開されているソフトウェアのコードを参照したり、開発に参加することはとても意義のあることなのじゃ!
ミツオカミツオカ
著名なソフトウェアのコードは、決して限られた人だけがアクセスできるモノではありませんもんね!
にゃんこ師匠にゃんこ師匠
GitHub を経由すれば、様々な「レベル」や「属性」のエンジニアが、簡単に参考にしたりできるモノなのじゃ
ミツオカミツオカ
今後も、様々なソフトウェアのコードをホスティングしたりと、GitHub は発展していくでしょうね!

こちらの記事もオススメ!


書いた人はこんな人

広告メディア事業部
広告メディア事業部
「好きを仕事にするエンジニア集団」の(株)ライトコードです!

ライトコードは、福岡、東京、大阪の3拠点で事業展開するIT企業です。
現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。
いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。

システム開発依頼・お見積もり大歓迎!

また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」「WEBディレクター」を積極採用中です!
インターンや新卒採用も行っております。

以下よりご応募をお待ちしております!
https://rightcode.co.jp/recruit

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア