Git講座 その1

5レッスンの0が完了(0%)。

Gitの基礎と使うための準備

gitの基礎知識

このレッスンへのアクセス権がありません

コース内容にアクセスするには、登録またはサインインしてください。

Gitとは、バージョン管理とは

  • フォルダ内のファイルの変更履歴を保存する
  • いつ、だれが、どのファイルのどの箇所を、どういった目的で変更したか

Gitを利用する方法

Gitの言葉の理解

  • リポジトリ
    • Gitで管理されたフォルダ
    • .gitのフォルダが含まれる
    • 変更を常に監視している
  • ステージ
    • 変更のあったファイルの中からコミットするためのファイルを選ぶ
  • コミット
    • 変更にメッセージなどを添えて保存する
    • セーブポイント
    • コミット間はいつでも移動できる

gitの基礎知識をまずはご紹介します。画面を共有します。

はい、gitですね。もはや、この講座を見られてる方は「git使わないと」とか「使い方を学びたいよ」という方が殆どだと思うんですけども、まずは簡単にgit自体のご紹介をさせて頂いて、そこから次のところで実際に手を動かしてgitを学んでいくという事を行ってきたいと思います。

gitなんですけども、あの、私、2冊ほど本を書かせて頂いております。

「gitが面白いほどわかる基本の使い方33(https://www.amazon.co.jp/dp/4844368680)」、もう一つは「サルでもわかる git 入門(https://www.amazon.co.jp/dp/B07HHRGHKJ)」ということでありますので、もし本を見ながらですね、ばーと一通りの知識を学びたいという方はこちらを利用いただければと思います。このコースの中でも一通りgitのことをどんどんと学んでいくようにします。

Gitとは、バージョン管理とは

はい、ではまず git とは、 git は「バージョン管理」と呼ばれていますけども、そもそも何なのかいう話なんですが、その該当するフォルダ内、gitは基本的なフォルダごとなんですけども、その中でファイルの変更の履歴を保存するものということになります。

いつ誰がどのファイルのどこの箇所どういう目的で変更したのか、例えば A さんが昨日の5時にバナーをAから B に変更したみたいなことですね。そういったことがどんどんどんどんとへ保存されていくツールということになります。

ですので、これまでの、例えばWeb サイトであれば 「Web サイトを制作する」というプロジェクトが、一番最初から今日に至るまで、どれだけの人が関わって、どういったファイルの変更があって、ここまでやってきたかという事が、全て分かるというツールになりますね。

そして、それを自分たちで今度使う時には、ファイルを変更した後に「私がこの目的で、このファイルとこのファイルは変更しましたよ」という事をどんどんと保存して行く、といった事を行うツールということになります。基本としたらそれだけです。

ファイルの変更を保存し後から見返せる、またそこにいつでも戻っていけるという内容になります。

ですので、例えば、ずっと色々やってます 、CSS を変更して、どこかしらの箇所を直します、直せたと思って「よし、これでOK」と思ったら、全然違う別のページが CSS の影響を受けて何かしら動かなくなっていた、もしくは形が崩れていたとしましょう。

そういう時ありますよね、…あります。私は少なくとも結構あります(笑)。

そういった時に、もう、一から全部戻していくの凄い大変じゃないですか。

gitをもし細かく変更の履歴を保存していると「一つ前に戻ってみる → ここでもまだ崩れてる」「もうひとつ前に戻ってみる → まだ崩れている」「もう一つ前に戻ってみる → お、ここで崩れが治った!」っていう事は「その時に変更したファイルのどこかの個所が影響して、他の所にまでレイアウト崩れが起こってる」という事なので、そこを修正してやっていけば、正しい修正が行えるというようなことでの自分のメモとして、というか作業の履歴として確認を遡って行うこともできるということで、一人でも使いやすいですし、もちろんメンバー同士でやると、それはそれでもちろんとても便利ということなんで、覚えておいて損はないツールということになります。長くなりますね、はい。

Gitを利用する方法

それでgitを利用するために利用するツールなんですけども、2種類ざっくり分けてあります。一つはコンソールという形で、黒い画面から操作するもの、要はコマンドラインツールとして git を操作するというものですね。ただ、こちらはプログラマにとっては非常にわかりやすいという形かもしれませんが、コンソールの操作に慣れてない方にとっては若干ハードルがあると思います。そこでSourceTreeといったようなクライアントソフト gui ですねグラフィック・ユーザー・インターフェース、今マウスの操作画面の操作でgitが操作できるものがいくつかあります。たくさんのソフトウェアがあるんですけども、今回こちらのコースではSourceTreeですね、 atlassian 社製のソフトウェアを使います。

私がこれを選んでる理由は Mac と Windows の両方で似たような、かなり、ほとんど同じようなインターフェースで操作ができるという事、そして日本語に対応しているという事でこちらを利用します。はい。

そしてインストールの方法につきましては、別途 mgn knowledge の「開発用アプリケーションのインストール、設定」っていうところの中で「Gitを操作するアプリケーション SourceTreeのインストール」がありますので、まだご自身のパソコンの中にSourceTree インストールしてないよーという方はこちらをご覧いただければと思います。

Gitの言葉の理解

はい、で、ちょっとここだけ知識だけ先に喋っておこうと思います。

まず基本としてやることは、リポジトリ、ステージ、コミット、この三つ覚えてもらえば大丈夫ということになります。あのgit 、言葉が特別なのがまずちょっととっつきにくいところで、やってることは本当にシンプルなんですけども、ちょっと言葉と実際の内容が紐づかないがために、なかなか git が操作できないかな、という方が多いように思います。

リポジトリ

まず「リポジトリ」というものがあります。「リポジトリ」は平たく言うとフォルダと思ってください。特定のフォルダです。そして、そのフォルダはgitのアプリケーションで管理されたフォルダということになります。具体的には「.git」というですね不可視フォルダ、git で管理するためのファイルが入ったところがぽこっと増えて、そのフォルダの中に「.git」が入ってる状態、これを「リポジトリ」と言います。で、こうなると、この「.git」のフォルダがあるフォルダは git で管理されており、そのフォルダの中にファイルが追加されたとか、ファイルの中身が変更されたっていうことをずっと監視して自動的に検知するという内容になります。このあたりは実際に手を動かしながらご理解いただくとすぐ分かると思いますけども、まず「リポジトリ」は git で管理されたフォルダだ、ということをご理解ください。

コミット

そして、その中に変更が起こります。ファイルが増えた、ファイルの中のソースコードが変更された、もしくはファイルが削除された、これも全て変更なんですけども、その多く行われる変更を保存する、要はバージョンとして保存するのが「コミット」です。ちょっとステージ飛ばしますけど、コミットは、例えばヘッダーを修正しました、メインビジュアルを変更しました、フッターにリンクを追加しました、新しいページを追加しました、今のその全ての行動に紐づいたファイルの変更、これを一つ一つ保存して行く、この一つ一つの保存の単位を「コミット」と言います。

ゲーム…、RPG のゲームとかではセーブっていうのがありますね。あの、物語が進んでいくにつれて、ここのお城でセーブする、どこかのほこらでセーブする、みたいな形でゲームが進んでいきますけども、ゲームの場合は直近のセーブポイントまでしか戻れません。それはゲーム性を高める為なんですけども、gitはただ「管理を便利にしたい」ということなので、どこのセーブポイントにもいつ何時でも戻ることが可能です。

これがとても便利なところでして、そのセーブポイントの一つ一つの事を「コミット」と言います。ですので、何かしら作業をしたら「コミット」して保存する、なんかおかしくなったらコミットを遡って見て、その問題が起こらなくなっていく個所まで戻る、といったような事が可能になります。ですので「コミット」は「セーブポイント、もしくはセーブする場所だな」と覚えておいてください。そして、その時にただのセーブではなくて「いつ誰が何の為に保存したのか」そういったことがある程度自動で保存される、ということにも紐付いてきます。この辺りも実際に手を動かしながらやっていけば、すぐにご理解いただけるかと思います。

ステージ

じゃあ、その間の「ステージ」って何なんですけども「ステージ」はコミットするためのファイルを選ぶということになりますね。gitの中において変更するファイルがいくつもあった場合に、その中のこれとこれを今回のコミットに含むという時に、これとこれを選びますよってて選んだ状態を「ステージする」とか言うようにいます。

ですので、リポジトリの中にファイルがある → 何かしら変更される → その中からステージするものを選んで、そしてコミットする、という形になります。

「リポジトリ → ステージ → コミット」この流れを、まずは言葉としてなんとなく、なんとなくのイメージでいいですね、覚えといていただければ、次からの手を動かすところで非常にやりやすくなると思いますので、まずはこちらを覚えておいてください。