概要
以前のブログで(リポジトリ生成)で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 addd
コマンドを使って教えてあげました。しかし、実際バージョン(変更履歴)管理はまだ出来てないです。ただ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 addd``を使って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で開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。