【初心者用】githubって何?

IT関係の仕事や、プログラミングを学んでいる方が必ずと言っていいほど耳にする言葉が、今回紹介するgithub(ギットハブ)です。

今回の記事では、githubの使い方と何故githubがここまで人気なのかをまとめた記事になっているので、良かったら見ていってください!


この記事を読むことで分かること

・gituhubとは何かを学べる

1. githubとは

githunはバージョン管理システムと呼ばれており、その名の通りソースコードの各バージョンを管理するためのシステムとなっております。

とはいっても、バージョン管理?何それ?となる方が多いと思いますので、そのあたりを先ずは詳しく解説します。


バージョン管理とは、どのソースコードがいつ・誰の手によって更新されたか。を管理するようなイメージです。

システム開発の現場では、自分のパソコン(ローカル環境)でソースコードを編集・修正しただけでは、プロジェクトのソースコードには反映されません。

そのため、基本的にはgithubとサーバーを接続し、正しいソースコード(マスタ)はgithub上で管理されています。

つまり、インターネット上に公開されているWEBサイトを動かすためのソースコードは、github上にあるソースコードということになります。


しかし、自分のPCではバグは見つからなかったのにgithubにアップロードするとバグが発生する事も、実は結構あります。

そのため、github上で、どのソースコードで バグが発生しているのか、そのバグはいつアップロードされたファイルのバグなのかを管理できるようになります。


そして、過去にアップロードしたソースコードに戻したい。

となった場合も、一行一行ソースコードを削除する必要はなく、いついつアップロードされたソースコードに戻す。というボタンを押すだけで戻すことが出来ます。


また、アップロードされたファイルにはメモを残せたり、アップロードされたファイルが本当に正しいものなのか承認するための機能も充実しているので、人為的なミスを減らすことも可能となっております。


ちなみに、ホワイトハウスでもこのgithubが使われているのだとか、、、

2. 初心者が抑えるべき知識



本章では、githubを使う上で初心者の方が抑えておくべき機能を紹介します。

2-1. ①ローカルリポジトリとリモートリポジトリ

先述したようにgithubは自分のPCで編集したソースコードをgithubにアップロードすることで、バージョン管理を行うことが可能です。

自分のPC環境のことをgithubでは、ローカルリポジトリ

github上の環境のことをリモートリポジトリと呼ぶため、覚えておきましょう。

2-2. ②コミットとプッシュ

giuhubではアップロードやダウンロードなど、一般的にIT言語で使われる言葉をgithub独自の言い方に統一しています。

その一部として、コミットとプッシュという言葉があります。

コミットは、任意のファイルの変更または追加したよという情報をローカルリポジトリに通達する行為を指し、イメージとしては保存に近いです。

プッシュは、ローカルリポジトリの情報をリモートリポジトリに転送する行為を指し、イメージとしてはアップロードに近いイメージです。

この、コミットとプッシュという言葉は実際のシステム開発の現場でも多用される言葉なので、これを機に覚えておいて損はないと思います。

例)○○のファイル、プッシュしておいて

2-3. ③ブランチ

githubにファイルをアップロードする流れは、ローカルリポジトリ→リモートリポジトリとなっています。

そのため、github上のソースコードを直接変更することは行わず、リモートリポジトリの最新情報をローカルリポジトリにダウンロードしてから作業を行います。

ブランチとは、リモートリポジトリのマスタをダウンロードしたファイル群を指します。

中・大規模な開発現場では、数十人が同時に作業を行うという状況もあり、それぞれが作業時にリモートリポジトリからローカルリポジトリにブランチを切る事があります。

実際に触ってみないと難しい部分かもしれないので、ここではリモートリポジトリからローカルリポジトリにダウンロードしたファイル群の事をブランチと呼ぶ。

とだけ覚えておいてください。

2-4. ④プルリクエスト

先述したように、githubには承認機能が実装されており、自分の修正したソースコードの内容が本当に正しいものかを、現場リーダーに判断していただく機能が備わっています。

その、承認を依頼する機能のことをプルリクエストと呼び、プルリクエストを送信することで現場リーダーがソースコードを見ることが出来、修正が正しいものなのかのレビューを行います。

プルリクエストを行うことで、ソースコードのダブルチェック(自分以外のもう一人が確認)することが出来、プログラミングの品質向上も期待できます。

3. githubの利用料金



本章ではgithubを利用するうえでの料金体系について解説していきます。

結論から言うと、githubでは無料でも問題なく利用できます。

3-1. 無料プラン

無料プランと聞くと、重要な機能が制限されていたり、作成できるリポジトリ数が制限されている印象を持たれる方も多いと思いますが、githubの無料プランではリポジトリの制限などは一切ないので、勉強程度や小規模プロジェクトで運用する分には問題なく利用することが出来ます。

3-2. 有料プラン

有料プランになるとgithubのプロジェクトをよりセキュリティの高いプロジェクトにするための監視機能が付いたり、電話でのサポートを受けられたりするメリットがあります。

大規模プロジェクトになってくると監視機能などは必須なのですが、個人で使う場合や小規模プロジェクトに導入する場合などには無料プランで問題ないかと思われます。

4. 実際に触ってみてイメージをつけよう

本記事で操作方法などについては解説しませんが、勉強程度であれば無料プランで問題ないので、本記事の情報を基に一度自分で触ってみることが一番の理解につながると思います。

githubは下記公式ホームページからアカウント作成を行うことが可能です。

https://github.co.jp/

5. まとめ



今回の記事では、プログラミングを学ぶ上で必ず必要になってくるgithubについて解説していきました。

インストール方法や使い方まで詳しく解説していないため、操作方法などは分からなかったかもしれませんが、githubの全体像やgithubとは何なのか?という部分については理解できたと思います。

私も実務のプロジェクトや自学時間にgithubを使用した経験がありますが、最初は難しくても使っていくうちに当たり前になってきます。

そして何より、バージョン管理という物がどれほど重要なものか、どれほど便利なものかが身に染みて理解出来ました。

それは人為的なミスを未然に防げるだけでなく、仮に人為的なミスが起こってしまった場合にでもバージョンを戻すことが出来る部分です。

もし、githubを利用していなければバグの調査から始まり、特定個所の修正まで含めると場合によっては膨大な時間を要する可能性もありました。

先述したように覚えるまでは難しいかもしれませんが、触れるようになると間違いなく便利な技術なので積極的に学んでいってほしいと思います!