※ 本講座は、動画コンテンツが未作成です。
Contents
はじめに
諸々の環境構築お疲れ様でした!プログラミングを始める際に一番つまづくと言われているポイントを超えたので、多くの初心者から一歩先に到達することができました。
この調子でいきましょう。
さて、今回から Git と呼ばれるバージョン管理ツール の使い方について説明していくのですが、その前に、Git が生まれた背景 について少し触れていきたいと思います。
どんな問題があって Git が生まれたのか、Git を使うことでどうやって解決されるのかを知っておくことで、ただ Git のコマンドを淡々と打って覚えるよりは理解が深まります。
なんで Git が生まれたのか?
ファイルのバージョン管理で困っていた
例えばですが、
- 札幌美味しいお店.txt
- 札幌美味しいお店_最新.txt
- chinju_札幌美味しいお店_最新.txt
- chinju_札幌美味しいお店_201811.txt
- 20181111_札幌美味しいお店.txt
などのファイルがあったとします。
さて、どれが最新の情報が入っているファイルでしょうか!?
そうなんですよ。ファイルの名前を見たところで、どれが最新のファイルなのかがさっぱりわからず、管理がとても大変になってしまうんです。
例え自分一人しか管理する人がいないとしても、1年後にそれらのファイルを確認したときに、瞬時に「これが最新だ!」と判断するのはかなり難しいと思います。
チームで同じファイルを共同で編集するのに困っていた
今度は、チームメンバーと一緒にファイルの変更をしていく必要が出てきたとします。
nekokun_札幌美味しいお店_20181111.txt です。
こんなやり取りがされて、いざファイルを開いて確認します。
さて、ここで問題が。
どこが編集された箇所なのかがわからない!笑
そうなんです。
ただのテキストファイルでは、変更箇所がハイライトされるわけもなく、手元にある前のファイルと、渡された編集済みのファイルを見比べて確認するしかなかったんですね。
これは、非常にめんどくさいです。確認するのに神経をすり減らしますし、ミスも発生しやすい。
これらの問題をうまく解決するためのツールが Git です。
- ファイルのバージョン管理が大変だったのを解決するため
- チームでファイルの管理をするとさらに大変だったのを解決するため
Git を使ったバージョン管理
では、Git を使うことでどのように変わるのか説明しますね。
少しわかりやすくするために、札幌美味しいお店.txt
という名前のファイルを Git で管理することにします。
今までは、札幌美味しいお店.txt
に
- 編集者の名前
- 編集した時刻(日付など)
- その他最新版だとわかるような名前
の情報を加えたファイル名に変更して保存していましたが、Git を使うとこれらファイル名の変更をしなくてもバージョン管理できるんです。
また、修正された差分だけを確認できるため、どこが修正されたかを確認することができるようになります。
それぞれ見ていきましょう。
Git でのファイル管理のイメージ図
この図のように、Git での管理をすると、自動的に「編集者」「編集日時」の情報が追加されるんですね。
さらに、図の青丸のバージョンは特殊な操作をしない限りずっと残り続けるので、前のバージョンに戻したかったらいつでも簡単に戻すことができます。
感覚的には、ゲームのセーブポイントをいくつも作っていくのと似ています。
Git のセーブポイントは上書きされるのではなくて、別のセーブポイントをたくさん作り続けていくイメージです。
今回は、札幌美味しいお店.txt
というひとつのファイルを変更していく想定でしたが、ひとつの青丸(セーブポイント)のなかに、いくつものファイルの変更情報をセーブすることも可能です。
このあたりは、実際に Git を触りながら感覚をつかんでいきましょう。
どこが修正されたかがわかる
この図のように、
- どのファイルに変更が加わったのか
- どの箇所が変更されたのか
が一目瞭然でわかるようになります。
※ Git では、➕で指定されている部分が追加された部分、➖で表示されている部分が削除された部分になります。
このように、Git を使うことで、今まで悩んでいたバージョン管理の悩みがすっきり解決できるようになるわけです。
まとめ
最後に、今回のレッスン内容をまとめます。
- Git はファイル管理を楽にするために生まれた。
- Git を使うと1つのファイル単位で履歴を保存でき、最新の情報がどれなのかがわかりやすい。
- Git を使うと修正箇所の差分を確認することができるため、チェックが楽になる。