かとのぼのマイコード・マイライフ

ウェブサービス開発者のブログ

Gitとは?【入門者向けGitの基礎知識】

f:id:katonobo:20190325130014j:plain

今回はGitに関する基礎知識です。

Gitとは?

Gitとは、ファイルの変更履歴を記録できるバージョン管理システムです。

変更したファイルをファイルした時系列で管理できるので、変更前のファイルの状態に戻したり、変更することができます。

わかりやすいイメージでいうと、RPGのセーブデータのような感じです。(ゲームやったことない方には申し訳ないのですが、他にうまい例が思いつきません…。)

ドラクエとかファイナルファンタジーのゲームでやったことがある人はわかると思いますが、RPGでは、冒険の途中にセーブできる箇所があって、そこに今までの冒険のデータを記録しておきます。記録しておけば、またゲームを始める時にそのセーブしたデータから始めることができます。また、途中で戻ってやり直したくなった時にはそのセーブデータに戻すことができます。Gitはそのプログラミング版です。

(セーブのことがわからない方はウィキを読んでください。)

なぜGitを使うのか?

Gitは概念や操作方法にかなり癖があるため、プログラミング初心者にはとっつきにくい知識だと思います。ただし、それを補っても余りあるほど便利な機能なので、プログラミング初心者でも自分でアプリを作ろうと思っているような段階ならGitの知識は身につけておきましょう。特に、Gitをチームで管理することができる「GitHub」は、チーム開発を行う時に使っていない人がいないくらいの知識となっています。

でも、なぜそんなにみんながこぞってGitを使うのでしょうか?

それは、プログラミングでは変更したファイルをセーブしておいて、戻したり一部を直したりするニーズがとても大きいからです。

想像してみてください。うまく動いていたコードに手を加えていたら、なぜか動かなくなってしまった。そんな時は一旦うまく動いていたコードに戻したくなりますよね?そういった時にGitがあれば間違いなく前のファイルに戻れるのです。Gitにはそれ以外にもたくさんの機能があり、そういった機能がとても便利なのです。

GitとGitHubの違いとは?

初心者の方が疑問に思うであろうことが「Git」と「GitHub」という単語を聞いたことがあるけど、何か違うサービスなのか?ということです。

結論から言うと同じ「Git」を使っていますが、「GitHub」は「Git」の機能に、みんなで編集したり、みんなに公開できるようにしたサービスです。時々エンジニアの方がコードを公開していますが、あれは「GitHub」です。

お勧めの学習法

私が見ている限り、Gitの知識はインターネット上のものだとわかりにくいものが多いです。おそらく覚えるべきことが多いので、ブログのような形式だと網羅できないからだと思います。そのため、もしGitを覚えるなら書籍での学習がお勧めです。

私は以下の2つの書籍で学習をしました。

 

わかばちゃんと学ぶ Git使い方入門

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

こちらは漫画でGitの知識が学べます。非常に丁寧な説明でわかりやすいです。Gitを使いやすくする「SouceTree」で操作の仕方を学べます。

 Gitが、おもしろいほどわかる基本の使い方33

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉

 こちらはもう少しカチッとしていますが、図が満載なのでわかりやすいです。ちょっと漫画で勉強するのは抵抗ある方はこちらがいいでしょう。私がこの2冊で学習しましたが、どちらか一冊で十分学習ができると思います。

  

もう少し細かい記事はこちらをご覧ください

www.katonobo.com

 まとめ

Gitはとても便利であるため、ほとんどのエンジニアの方は利用しています。そのため、プログラミング初心者もなるべく早い段階でGitの知識は習得することをお勧めしたいと思います。具体的には、自分でサンプルコードを改造したりしてオリジナルのアプリを作り始めた頃が丁度いいと思います。 

 

関連記事: