概要
以前のブログで(リポジトリ生成)でgitのリポジトリ(Repository)を生成する方法を勉強しました。今回は生成されたgitのリポジトリ(Repository)へバージョン管理をするためバージョン(変更履歴)を生成する方法に関して勉強してみましょう。
ファイル追加
gitのリポジトリ(Repository)が存在するフォルダ(temp_test_git)へバージョン管理したいファイルをコピーするか生成します。
私たちはテストのためtemp_test_gitフォルダへtest textを書いたtest.txtファイルを生成しました。
git status
gitのリポジトリ(Repository)の現在状態を確認するため下のgit statusコマンドを実行します。
git status
上のようにgit statusコマンドを実行したら下記のような画面が見えます。

- On branch master: 現在のブランチ(branch)はマスター(master)です。gitのブランチ(branch)に関しては別のブログポストで紹介します。
- No commits yet: まだ、コミット(commit)をしてない状態です。コミット(commit)はバージョン(変更履歴)を意味します。まだ、バージョン(変更履歴)を作ってない状態を意味します。
- Untracked files: gitがバージョン(変更履歴)管理をしてないファイルリストです。
私たちはまだgitにtest.txtファイルをバージョン(変更履歴)管理するように教えてくれませんでした。そのため、Untracked filesへ私たちが作ったtest.txtファイルが存在します。
git add
私たちが作った新しファイル(test.txt)をgitへバージョン(変更履歴)管理対象であることを教える必要があります。git addコマンドでgitへtest.txtフィルはバージョン(変更履歴)管理対象てあることを教えてみましょう。
# add single file
git add test.txt
# add multiple files
# git add test.txt test2.txt test3.txt
# add all files
# git add .
下記のようにgit statusコマンドでgitが新しく追加されたファイルがバージョン(変更履歴)管理対象で認識されてるかを確認します。
git status
下記のようにgit statusコマンドを実行したら先の画面とは違う画面が見えます。

- Changes to be committed: gitが次のバージョン(変更履歴)管理をするためのファイルリストです。私たちはファイルを新しく追加したので
new fileでtext.txtが追加されたことが見えます。
このようにgit addを使ってファイルを追加するプロセスがある理由は今回のバージョン(変更履歴)へ追加したくないファイルが実際のプログラムを作成する時存在するからです。例えば、ビルドされた結果物、DBの情報、ID/PWが保存されてるファイルや臨時でログを表示するため作成したコード(console.log / printなど)が含まれていてバージョン(変更履歴)とは無関係な内容を区分するため使います。
git commit
私たちはgitにバージョン(変更履歴)へ追加したいファイルをgit addコマンドを使って教えてあげました。しかし、実際バージョン(変更履歴)管理はまだ出来てないです。ただgitに新しファイルがあることを教えただけです。実際バージョン(変更履歴)管理をするためgit commitを使ってバージョン(変更履歴)を生成します。
git commit
このように```git commit``コマンドを実行したらバージョン(変更履歴)を生成する画面が実行されます。

この画面はvimと言うドキュメント編集ツールが実行された画面です。ドキュメントを編集するためキーボードでi(insert)を押して変更履歴の内容を作成します。

作成を完了したらキーボードのescボタンを押して:wq(write-quit)を入力して変更履歴を作成します。

変更履歴が作成されたら上記のようなメッセージが見えます。
git log
バージョン(変更履歴)が上手く生成されたかを確認するためgit logコマンドを実行します。
git log
上のようにgit logを実行したら現在作成したバージョン(変更履歴)を確認することができます。

- Author: バージョン(変更履歴)を作った人と作成者のメール(git configで登録したユーザー名とメール)
- Date: バージョン(変更履歴)の生成日時
- Dateの下には
git commitを使って作成したメッセージが見えます。
ファイル修正の場合
ファイルを修正する場合も上記と同じ方法でします。まず、下のようにgit statusコマンドを使って現在の状態を確認します。
git status
まだ何も変更してないので変更内容がないとgitが教えてくれます。

じゃ、test.txtファイルの内容をtest textからtest stringで修正してgit statusを実行してみましょう。
git status
今回は変更の内容があるため下記のような画面が見えます。

- modified: 修正したファイルを意味します。
今度は```git add``を使ってgitへ変更した内容があることを教えてあげます。言い換えれバージョン(変更履歴)へ記録するファイルを追加します。
git add test.txt
またgit statusで状態を確認します。

先とは違って文字も緑でno changes added to commit (use "git add" and/or "git commit -a")メッセージもないことが分かります。gitへバージョン(変更履歴)へtest.txtファイルを上手く追加したことが分かります。git commitを使ってバージョン(変更履歴)を生成します。バージョンメッセージ(変更履歴メッセージ)にはedit 'text' to 'string'と入力しました。
git commit
そしてgit logでバージョン(変更履歴)が上手く生成されたかを確認します。
git log

上のようにバージョン(変更履歴)が上手く生成されたことが確認できます。
変更内容確認
次のコマンドを実行すると変更内容を確認することができます。
git log -p
またはgit logコマンドを使ってCommitのIDを確認した後、次のコマンドを実行して変更内容を確認することができます。
git diff 'Commit ID' 'Commit ID2'
次のコマンドを実行するとgit addする前のファイルとgit addした後のファイルの変更内容を確認することができます。
git diff
要約
バージョン(変更履歴)を生成する方法について勉強しました。全般的に要約すると下記のようです。
- ファイル追加または変更
git statusで追加または変更されたフィアるを確認git addでバージョン(変更履歴)へ追加したいファイルを登録git statusでバージョン(変更履歴)へ追加したファイルが登録されたかを確認git commitでバージョン(変更履歴)へメッセージを追加して生成git logで生成されたバージョン(変更履歴)を確認git log -pで変更内容確認git diffで変更内容確認
上記のような方法で新しバージョン(変更履歴)を生成します。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Dekuが開発したアプリを使ってみてください。Dekuが開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。






