Let's start from here

ローカルリポジトリでのファイル管理

Gitは、「いつ」、「誰が」、「どうのような」修正を行ったのかを管理します。
管理の場所は、主にローカルリポジトリ(自身のPCの保管庫)とリモートリポジトリ(ネットワーク上の保管庫)になります。
リモートに当たる部分は、GitHubです(他のサービスもありますが)。
ここでは、主にローカルでのファイル管理について説明します。

リポジトリ

gitでは、バージョン管理の管理対象ファイルの保管庫のことをリポジトリと呼びます。
gitでバージョン管理をする場合は、最初に保管庫となるディレクトリを作成します。とりあえず自身のPCにこの保管庫を作成するとローカルリポジトリとなります。
リポジトリは、複数作成できますのでプロジェクト単位(仕事)で作成します。後であらためてお話しますがリモートリポジトリとローカルリポジトリとの連携をすることで共同作業を管理できるようになります。
ローカルリポジトリを作成する場合はgitコマンドを実行します(gitがインストールされていない場合は実行されません)。
gitコマンドは、管理対象のディレクトリの中に入って実行します。

このコマンドを実行すると管理対象のディレクトリ内に隠しディレクトリ「.git」が作成されます。
以降、このディレクトリのことをリモートリポジトリを呼びます。

git のコミット

「コミット」とは、ローカルリポジトリ内でのさまざまな更新の確定を意味します。
追加・変更したファイルをGitに登録するためには、コマンドで「git commit」を実行します。 通常のファイル操作では変更した内容を上書き保存すれば、ファイルの内容が変更されますが、Gitのリポジトリに変更内容を登録(保存)するためには、git commitを使用する必要があります。
但し、ファイルをコミットするための手続きとして、コミットの対象ファイルを事前にステージングエリアに追加しておく必要があります。

リポジトリ内の3つの領域(ワークツリー・ステージング・Gitディレクトリ)

ローカルリポジトリ内でファイルの更新を確定させるための流れは以下のようになります。

ワークツリー

ワークツリーは変更ファイルを保持する場所です。変更されたファイルの状態を「modified」と呼びます。新規でファイルを作成した場合は、「untracked」と呼ばれます。
ファイルの状態は、「git status」コマンドで確認できます

ワークツリーで変更や新規作成したファイルでコミットしたいファイルをステージングエリアに登録するときは「git add」コマンドを実行します

ステージングエリア

コミットする対象ファイルをステージング領域に追加します。
コミットはこの領域にあるファイルを1コミットの単位で扱います。
ステージングエリアにファイル領域に追加すると「modified」、「untracked」の状態が「staged」に変わります。
ファイルの状態を「git status」コマンドで確認しましょう。

このコマンドで更新記録用の入力エディタが起動しますのでどんな更新をおこなったかを記録します。簡易記録で良い場合は以下の形式でコミットを実行します。

gitディレクトリ

コミットしたファイルは、コミット単位でgitディレクトリに変更データが格納されます。
この場所に格納することでローカルリポジトリ内でコミット(確定)ファイルとして扱われます。
更新したコミット単位で更新ファイルと「いつ、誰が、どんな更新をしたか」が記録として残ります。