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 は発展していくでしょうね!

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

ライトコードメディア編集部
ライトコードメディア編集部
「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。

関連記事