近年のIT業界では、GitとGitHubを使う現場が多くなっており求人情報にGit・GitHubを使い複数人の開発経験がある人を優遇することも増えています。まだ使ったことがない人やIT業界に足を踏み入れたい人はGitとGitHubの違いやメリットを理解し学んでいきましょう。
こちらの記事では、GitとGitHubの違いについてと使うことで得られるメリットについて解説しています。
- 漫画形式で読みやすく理解しやすい
- GitHubを使った実践的な内容も分かりやすい
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
変数名/関数名にもう悩まない!
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
Gitとは
Gitとは何か?一言で表すならバージョン管理をするためのツールです。
Gitを使わずにファイルを編集する場合、編集前のファイルをバックアップとして残すことが多いと思います。その場合、フォルダごとzip形式で圧縮し残したり編集したファイルに_bk220302などの名前を付けてバックアップとして残しておくことが多いのではないでしょうか。これは手間が掛かるうえに、運用するにつれてファイル数が増え続けてしまいます。
過去の状態に戻したい時に直前までのバックアップファイルの内容であれば、ある程度覚えていますが1年以上のバックアップファイルの場合どうでしょうか?おそらくほとんどの方はそのファイルがどの状態であるか覚えていません。
しかし、Gitを使うことで上記の手間や懸念点が解消されます。Gitはファイルの変更履歴を記録し「いつ」「誰が」「どこの箇所を編集」という履歴が時系列で保存されるためバックアップファイルの作成やどこの状態まで戻せば良いのかをすぐに分かります。
Gitを使うメリット
Gitを使うことで得られるメリットは主に以下のとおりです。
- バージョン管理することができる
- 複数人開発することが出来る
- ソースコード以外にも様々なファイルを管理することができる
それぞれのメリットについて見ていきましょう。
バージョン管理することができる
先ほど触れましたが、Gitはファイルのバージョン管理をすることができます。バージョン管理をすることでシステムに不具合が発生したから、一度元の状態に戻す作業などを簡単に行うことができます。
複数人開発することが出来る
Gitを使うことで複数人での共同開発がしやすいです。
リポジトリに開発で必要なファイルなどを置くことで、開発チームメンバーがリポジトリ内のファイルを編集することができます。
これだけだと、FTPでサーバー上にファイルをアップするのと変わらない気がする。。と思いますが、FTPの場合ファイルを最後にアップしたファイルが既存のファイルを上書きしてしまいます。
AさんとBさんが2人で共同開発をしています。
Aさんは既存のindex.htmlにheaderを新規で追加する作業が終わりFTP上にファイルをアップしました。
Aさんがファイルをアップしてから1時間後にBさんがindex.htmlにfooterを新規で追加する作業が終わりFTP上にファイルをアップしました。
現在のindex.htmlの状態:新規で追加したはずのheaderが消えている。
Gitの場合、ファイルの違いを差分で確認することができ、「マージ(merge)」機能を使うことで変更箇所のみを取り込むことができます。
ソースコード以外にも様々なファイルを管理することができる
Gitは開発で使われるツールだからエンジニア以外は使わないんじゃないの?と思われる方も多いと思いますが、答えはNoでGitはソースコードの他にも画像やExcelファイルなどの様々なファイルを管理することができます。
そのため、デザイナーやwebディレクターの方もGitを使うことも珍しくありません。
GitHubとは
GitHubとは、Gitの仕組みを利用して開発プロジェクトのバージョン管理を共有できるwebサービスです。
2008年にリリースされたGitHubは、開発者の中で圧倒的な人気を誇り利用者は6,000万人を超えています。
特徴として、GitはCUI(ターミナルでコマンドを実行)なのに対しGitHubはGUI(マウス操作)で扱えるのに加え、GitHub独自の便利な機能を揃えています。
GitHubを使うメリット
GitHubを使うことで得られるメリットは主に以下のとおりです。
- コードレビュー機能(PullRequest)
- 変更履歴を取り込む(merge)
- リポジトリをコピー(Fork)
- 世界中の開発者からアドバイスや開発の協力を得られる
それぞれのメリットについて見ていきましょう。
コードレビュー機能(PullRequest)
GitHubにはプルリクエスト(PullRequest)と呼ばれる、自分が修正・新規追加を行ったものを他の開発者に通知することが出来ます。
また、開発者チームのリーダーなどがソースコードをチェックし問題がないかを確認することができ品質の向上・バグを生み出すリスクを減らすことができます。
変更履歴を取り込む(merge)
先ほど紹介したプルリクエストで、問題がなければリポジトリに変更箇所を取り込む(merge)する作業をします。
この作業はプルリクエストを受けた人がマージボタンをクリックするだけでリポジトリに変更箇所が反映されます。
リポジトリをコピー(Fork)
GitHubのフォーク(Fork)とは、オリジナルのプロジェクトに対する編集・アクセス権限がない場合でもリポジトリをコピーし自由に改変することができます。
気になるプロジェクトがどのようなコードで書かれているのか知りたい時や、他のプロジェクトを見て自分のアイディアの出発点として活用することができます。
世界中の開発者からアドバイスや開発の協力を得られる
GitHubにあるプロジェクトは、非公開にされていないものは基本的に誰でも見ることができます。
そのため開発チームメンバーでない人が、ここの処理はこう書いた方がよいのでは?などのアドバイスを貰えることがあります。
特にプログラミングでは答えが1つではないため、自分の知らなかった実装方法など知る機会にもなります。
まとめ
今回はGitとGitHubの違いについてと使うことで得られるメリットについて解説しました。
GitのインストールやGitHubの登録方法について知りたい方は、下記の記事をご覧ください。