こんにちは! 侍ブログ編集部の兵政和です!
最近よく聞くようになった「Git」。Gitはエンジニアだけではなく、WebデザイナーやWebライターなど、今やITに携わるほとんどの方の必須知識となりました。
そんなGitですがわかってるようでいまいちピンときていない方も多いのではないでしょうか?
なので今回は「Gitとはなんなのか?」を、専門用語をなるべく用いずシンプルに解説していきます。
これを読めば、今まで何を見ても理解できなかったGitの概要がすっきりわかるはずです。ぜひ参考にしてください!
この記事の目次
そもそもGitとは
まずは、Wikipediaでの説明をみてみましょう。
gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。
gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。 / wiki
ちょっと小難しく聞こえますよね。大丈夫です、まずはなんとなくでも触れていきましょう。
この解説をかみくだくと、以下のように説明できます。
- リーナスさんという人が作った
- オフラインでもプログラムの編集などができる
- その変更履歴も管理できる
Gitが生まれた理由
Gitとはなんなのか?を理解していく上では「なぜ生まれたのか?」を知っておくと理解が早いです。世の中になにか新しいものやサービスが生まれる理由は、困りごとを解決するためです。
Gitに関しても、その困りごとや解決する方法を知ることで、使い方のイメージがわきやすくなります。
ファイル編集で困ってた
例えば、みなさんはあるファイルを編集前に戻す時にどうしますか?
一番簡単なのは、前もって編集前のファイルをコピーしておく方法です。この方法の場合、ファイル名に編集した日付を追加しておくことが多いですよね?
しかし、ファイルを編集するごとに自分でファイルをコピーするというのは大変で、間違いも起こしやすくなります。さらに、適当に名前を付けてしまった場合、どのファイルが最新のものか区別できない時があると思います。
チーム作業でも困ってた
チームで共有して作業しているファイルでは、編集者の名前を入れておくこともあります。
しかし、どのような変更を行ったか簡単にはわかりませんよね?
また、チームで共有しているファイルの場合では、二人で同時に編集してしまったために、先に編集した人の変更内容が消えてしまったという経験はないでしょうか。
このような問題を解決するために作られたのが、Gitという仕組みなんですね。

Gitの特徴
これまでの管理システムでは、サーバー上にある1つのフォルダを、利用者が共同で使っていました。
なので利用者が増えると、上で説明しているような問題が起こってしまい、整合性を維持することが大変だったんですね。
Gitの最大の特徴は、「分散型」と言われるとおり、自分のパソコンに全ての変更履歴を含む完全なフォルダの複製を作成できるということです。
これはつまり、元フォルダのコピー(ローカルリポジトリ)を手元に置いておけて、自由に編集できるということです。
Gitでできること
これまでの説明をまとめて、Gitでなにができるのか、なにが嬉しいのかをご紹介していきます。
ファイルの変更履歴が管理できる
Gitを使えば、「◯月◯日に、◯◯さんが◯◯を変更した」という変更履歴を管理できるので、ファイル名をいちいち変更して保存しておく必要がなくなります。
ファイルが増えないので、自分のフォルダがすっきりしますね。
過去のファイルに戻せる
ファイルを編集していて、「あ、やっぱり変更前に戻したいな」って時ありますよね。Gitを使えば、変更履歴をそれぞれ管理しているので、いつでも任意の時点のファイルに戻せます。
なんでも管理できる
Gitで管理できるのは、プログラムのソースコードだけではありません。詳細な違いまでは管理できませんが、Excelファイルや、画像など、あらゆるファイルを管理できます。
チームで共有できる
ネット環境を使えば、同じチーム内の仲間とファイルの変更履歴などが共有できます。複数人で仕事をやる時に起こりがちな問題なども回避することができます。
Gitを使う場面
プログラミング
ここまで説明してきたとおり、プログラミングでソースコードを書くときに利用されます。
また、先述したようにバージョン管理がしやすく、チームでプログラミングを行う場合にGitはよく使われています。
Webデザイン
Webデザイナーの方も利用するようになってきました。
Gitは、テキストデータの変更履歴を管理することが得意です。Webデザイナーが作成するHTMLやCSSもテキストデータですから、GitとWebデザインも相性が良いことが分かりますね。
Webライター
実はWebライターも利用が始まっています。
遠隔地で原稿を書くWebライターが、後述するGitHubやBitbucketを活用して、原稿を納品していくケースがあります。
Webライターが取り扱うデータは、テキストデータが主ですから、やはりGitと相性が良いというわけです。
Gitの機能を使えるアプリの紹介
Git
Linuxで動作するGit以外に、Windowsで動作するGit for Windowsや、Mac OSで使用するためのインストーラーも用意されていますので、好きな環境で利用できます。
ここまで触れてきませんでしたが、GitはCUIツール(コマンドラインツール)です。
CUIというのは、黒い背景の画面に、キーボードでコマンドを入力して操作するインターフェースのことです。
そういった操作に慣れた方には使いやすいのかもしれませんが、Windowsなどでメニューをクリックして……といった操作に慣れていると使いこなすのは難しいですね。
この記事では、あえてGitのコマンドを紹介しませんが、Gitのコマンドって……とどうしても気になる方は、以下の2つの記事をご覧ください!
Git Bash
Git for Windowsをインストールすると、Git Bashというツールもインストールされます。
Git Bashは、Windowsのコマンドプロンプトと同じようなツールで、Linuxでよく使用されているlsコマンドなどを利用できます。
正確にはGitの機能を使えるアプリというわけではなく、Gitを活用するシェルスクリプトを、Windowsでも使えるようにするためのツールと考えると良いでしょう。

やっぱり、CUIから離れられないのか…と思ったあなたには次のツールをオススメします!
SourceTree
Gitの機能を使えるアプリケーション(GUIツール)です。CUIで操作する必要がほとんどなくなるスーパーツールです。
SourceTreeは、以下の記事でも紹介しています。本当にオススメですから、ぜひご覧ください!

Tower
Gitを直感的に扱うことができるパワフルなGUIツールです。
多機能なぶん有料ですが、30日間のトライアル版もあります。気になった方はまずはお試ししてみましょう。
Fork
こちらもGUIツールです。Mac版のみでしたが、Windowsにも対応されました。無償で利用することができます(2019年11月現在)。
GitとGitHubの違い
GitとGitHubは同じものではありません。
GitHubの使いかたを紹介する上で、Gitの使い方も紹介しなければいけなくなりますから、いろいろな記事を読んで混乱してしまうのもわかります。
みんな一度は通る道です。せっかくなのでここで違いをしっかり把握しておきましょう。
GitHub
GitHubは、このGitの仕組みを利用して、世界中の人たちがプログラムコードやデザインデータなどを保存できるウェブサービスです。
運営しているのはGitHub社(日本法人はギットハブ・ジャパン合同会社)です。
GitHubは以下の記事でも紹介していますので、ぜひご覧ください。
Bitbucket
Bitbucketは、GitHubに似たウェブサービスで、Atlassian社(日本法人はアトラシアン株式会社)が運営しています。
BitbucketはGitHubと比べてシンプルに抑えてあるので、GitHubはゴチャゴチャして苦手という方にはBitbucketをオススメします。
Gitの使い方を効率的に学ぶなら
難しそうだし、挫折したらやだな…。
ここまでGitについて解説してきましたが、上記のような悩みを持っている方も多いですよね。
そんな方には、弊社が運営するサブスク型のプログラミングスクール「SAMURAI ENGINEER Plus+」がおすすめです。
月額2980円(税別)で、主に4つのサービスを提供させていただきます。
- 現役エンジニアによる月1度の「マンツーマン指導」
- 平均回答時間30分の「Q&Aサービス」
- 作りながら学べる28種類の「教材」
- 学習を記録&仲間と共有できる「学習ログ」
目的にあった教材を選べば、どなたでも効率よく学習できるほか、Q&Aサービスやマンツーマン指導を活用することで、挫折せずにGitの習得が可能です。
Gitを効率的に学びたい人はもちろん、何から始めたらよいのかわからない方は、ぜひ「SAMURAI ENGINEER Plus+」をご利用ください。
まとめ
Gitとは?という概要から、特徴やGitを使ってできることなどを説明しました。
Gitがあれば、作業中に出てくるストレスを減らして作業効率をグンと上げることができます。
この記事を参考に、これからGitを使いこなしていってもらえれば嬉しいです!
Git関連の記事