Gitコマンド入門::add,reset,rm,status,log「第三十回」

4 min read読了の目安(約3600字

みなさん、こんにちは! 今日も前回からの続きで、初心に戻ってからの~ git コマンドの練習をして行きましょう。操作した内容が、思い通りになっているのか? コマンドを打ったら、git-log, git-status, git-diff などで、確認する習慣を着けましょう。そして、予想通りの結果が返ってくるようになったら、OKですね!

前回の記事は、こちら!

https://zenn.dev/shiozumi/articles/6688f213b3a76b

git本家本元の情報はこちらから!

https://git-scm.com/book/ja/v2

まずは、a.txt をコミットします!

$ echo "# A + add a.txt" > README.md

$ cat README.md
# A + a.txt // <!-- ファイルの中身は、A + a.txt

$ echo "a.txt" > a.txt
$ cat a.txt
a.txt // <!-- ファイルの中身は、a.txt 

$ git add .  // a.txt と、 README.md を同時にステージングエリアへ登録
$ git commit -m "2nd add a.txt" // コメントは分は、任意でどうぞ!

[main ce2321e] 2nd add a.txt
 Date: Wed Mar 3 07:14:16 2021 +0900
 2 files changed, 2 insertions(+), 1 deletion(-)

// 問題なく、コミット完了ですね!
// それでは、git log で内容を確認しましょう!

$ git log --oneline -p --reverse

// オプションの機能は、以下の通り
// --oneline は、シンプルな一行表示
// -p は、diff と同じで、差分表示
// --reverse は、古いものから表示、新しいものは、最後

53d39e0 (origin/main) 1st
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..7f3b95d
--- /dev/null   // <!-- 前回のコミットにはありませんから、/dev/null
+++ b/README.md  // <!-- 今回のREADME.md
@@ -0,0 +1 @@
+# A


ce2321e (HEAD -> main) 2nd add a.txt
diff --git a/README.md b/README.md
index 7f3b95d..8721613 100644
--- a/README.md  // <!-- 前回のREADME.md
+++ b/README.md  // <!-- 今回のREADME.md
@@ -1 +1 @@
-# A
+# A + add a.txt

diff --git a/a.txt b/a.txt
new file mode 100644
index 0000000..eaa5fa8
--- /dev/null  // <!-- 前回のコミットにはありませんから、/dev/null
+++ b/a.txt    // <!-- 今回のa.txt
@@ -0,0 +1 @@
+a.txt

緑、赤色の背景部分が、ファイルの差分表示となっています。まずは、自分が意図したどおりなのか、そこから確認して行きましょう!

  1. +緑が、編集作業にて、追加された部分となります。
  2. ー赤が、削除された部分ですね。

git status で確認!

$ git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
// これで、ワーキングディレクトリとステージングエリアが、綺麗な状態となりました。

$ git status -s
$
// -s オプションを付けると、何も表示されませんね。

現在のGitリポジトリは、こんなイメージです。

1st ハッシュ値:53d39e0

ファイル名 Gitリポジトリ「ファイルの中身」
README.md # A

初期のコミットでは、README.md ファイルが一つだけです。

2nd add a.txt ハッシュ値:ce2321e

ファイル名 Gitリポジトリ「ファイルの中身」
README.md # A + add a.txt
a.txt a.txt

二回目のコミットでは、a.txt を追加して、ファイルが2つになりました。

みなさんも各自の環境にて、git logの内容から、この表のように書き出してみましょう!

現在の作業環境も再認識

ファイル名 ワーキングディレクトリ ステージングエリア Gitリポジトリ
a.txt a.txt a.txt a.txt
README.md # A + add a.txt # A + add a.txt # A + add a.txt
$ git diff
$
// 何も表示されません。ワーキングディレクトリとステージングエリアの差分なし!

git diff --staged
$
// 何も表示されません。Gitリポジトリとステージングエリアの差分なし!

git diff HEAD
$
// 何も表示されません。Gitリポジトリとワーキングディレクトリの差分なし!

git diff HEAD~ で、現在のワーキングディレクトリと、ひとつ前のGitリポジトリとの比較

$ git diff HEAD~

diff --git a/README.md b/README.md
index 7f3b95d..8721613 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-# A
+# A + add a.txt

diff --git a/a.txt b/a.txt
new file mode 100644
index 0000000..eaa5fa8
--- /dev/null
+++ b/a.txt
@@ -0,0 +1 @@
+a.txt

焦る必要はありませんので、じっくりとコマンドを叩きながら、確実に学習して行きましょう!
では最後に、ここまでの復習も兼ねて、b.txt を追加してみましょう!

私の環境作りは、こんな感じ!

$ echo "b.txt" > b.txt
$ git add .
$ git commit -m "3rd add b.txt"

[main ceff847] 3rd add b.txt
 1 file changed, 1 insertion(+)
 create mode 100644 b.txt

$ git log --oneline
ceff847 (HEAD -> main) 3rd add b.txt // <!-- こんな感じに追加しました!
ce2321e 2nd add a.txt
53d39e0 (origin/main) 1st

次回、この環境にて、学習を進めて行きます!

3rd add b.txt ハッシュ値:ceff847

ファイル名 Gitリポジトリ「ファイルの中身」
README.md # A + add a.txt
a.txt a.txt
b.txt b.txt

それでは、今回はここまで、お疲れ様でした!

https://zenn.dev/shiozumi/articles/63a686eb69e205
https://twitter.com/esmile2013