GitHubとは?何のために使うの?使い道を紹介!

どうも、最近ふと思い立ってGitHubにアカウントを作成したtatsuです!

Gitについて調べてみると結構おもしろくてハマったので、情報共有の意味で記事を書きたいと思います。

GitHubって聞いたことはあるし、Gitがバージョン管理システムなのも知っている。だけど実際どんな使い方をするの?

って方を対象にした記事になります。

それではどうぞ!

GitHubとは?

GitHubとは、バージョン管理システムGitを使ったソースコード管理サービスです。

注意
基本無料ですが、非公開プロジェクトを作る場合は有料となります。
ですので無料で使うならそのソースは公開されますのでご注意を。

バージョン管理自体はSubversionと同じくGit単体で行うことができます。

Subversionとは?
Subversionとは、Gitと同じくファイルのバージョン管理システム。

しかしSubversionは集中型・Gitは分散型と言われており、昔はSubversionが主流でしたが最近はGitと立場が逆転しています。

バージョン管理システムは他にもありますが、とりあえずSubversionとGitを知っていれば大丈夫。

ちなみにSubversionとSVNは同じ。

GitHubではGitでバージョン管理しているソースコードをWebサービスとリンクさせて、より開発しやすい環境を提供してくれます。

例えば、ソースコードをWeb上で閲覧してレビューを行ったり、課題管理したりすることができます。

イメージとしてはこんな感じ↓

このように、Git単体よりもGitHubを使った方が開発がはかどるため、GitHubを使ってソースコード管理・開発を行う必要があるのです。

GitHubの使い道

GitHubの使い道として、私は以下の4つあると考えています。

  1. OSS(オープンソースソフトウェア)の開発・公開
  2. 社内ソースコードの管理・開発
  3. 勉強用ソースコードの管理・開発・公開
  4. 目的のOSSを探す

OSS(オープンソースソフトウェア)の開発・公開

GitHubといえばこれが一番の使い道といってもいいんじゃないでしょうか。

誰かがまず開発を行い、それを見た他の人がソースに手を加えてどんどん良いものにしていくといった流れになります。

OSS(オープンソースソフトウェア)とは?
OSS(オープンソースソフトウェア)とは、開発したソースコードを無償で改変・再分配してよいといった考えに基づいて作られたソフトウェアのこと。

ただ、OSSだからといってなんでもしてよいというわけではなく、ライセンスというものが付いています。

例えば「このOSSを改造したり他のソフトウェアに組み込んだりして作ったソフトウェアは、だれでも無償で改変・再分配してよいというライセンスにしなければならない」といったライセンスがあったりします(GPL)。

要は社会貢献です。
良いものを無償で提供する。とてもありがたいことですよね。

普段私たちもライブラリやAPIとして無償のプログラムを使っていることがあるかと思いますが、無償で使えているのもこのようにOSSとして開発してくれたおかげなんですね~。

 
なので誰かのために無償で何かを提供したい人や、このライブラリこうした方がいいんじゃないかと思っている人は、OSSの開発という使い道をします。

社内ソースコードの管理・開発

「いやいや、自社内プロジェクトのソースだからOSSにはできない。けどGitHubの機能は便利だから使いたい!」

といった場合、有料で非公開のプロジェクトを作ることができます。

なので企業としては「社内ソースコードの管理・開発」という使い道をします。

似たようなサービス
GitHubの非公開プロジェクトの作成は有料ですが、似たようなサービスだと以下のようなものがあります。

  • GitLab
  • Bitbucket

これらは非公開プロジェクトの作成が無料なため、GitHubにお金を払えないプロジェクトでもGitHubのような機能を使ってGitでバージョン管理をすることができます。

GitLabなんかはそもそもクラウドサービスではなく、自社サーバー内にたてることができるため、
「外部に秘匿情報を置けないよ!」
といったプロジェクトでも使うことができます。

勉強用ソースコードの管理・開発・公開

私は今この使い方をしています。

「Gitを経験したいけどなにをしたらいいかわからん!」
って人は、GitHubにプロジェクトを作って自分の作ったプログラムかなんかをバージョン管理してみましょう。

少しGitを勉強した方向けに話すと、以下のようなことをしてみると感覚がつかめるかと思います。

  1. GitHubからプロジェクトを作る(リモートリポジトリ)
  2. 自分のPCにリモートリポジトリをクローンする(ローカルリポジトリ)
  3. ローカルリポジトリ内でソース追加・変更・コミット
  4. ローカルリポジトリの変更をプッシュ
  5. 変更内容がGitHubから作ったプロジェクトに反映されていることを確認

 
ここらへんは別記事として詳しくやり方を説明しようと思います!

GitHubとSourceTreeを使って簡単にGitの開発手順を説明するよ!

2018.08.30

目的のOSSを探す

これはソフトウェアを使う側ですね。

「こんなことしたいんだけど既に誰か作ってないかな~」
といった感じでソースを探すことはプログラマーなら経験があるんじゃないでしょうか。

非常にたくさんのOSSがあるので、流し見してるだけでも「こんなことできるんだ」って感じで勉強になりますよ!

まとめ:GitHubはたくさんの使い道がある!

GitHubについて理解が深まったでしょうか?

私もまだまだ細かいところは知らないですが、Gitを理解しようと精一杯調べてみたので記事にしちゃいました!

この記事を見てGitHubの使い道が理解できたなら幸いです。

また、「間違っているよ!」「こんな使い道もあるよ!」
といったことがありましたらコメントで教えていただけるとありがたいです。

それでは!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です