🏹
Gitコマンド入門::さまざまなツール(Git Log2)第八十五回
みなさんこんにちは! 今回は前回の続きで、git log を学習して行きますね。そもそも、私はプログラマーという職種なので、どうしてもデバッグ行為をしてしまいます。でも、デバッグやテストこそが、一番大切な発想で、それが普段のプログラミングにおいても有効で、バグが少なくなるものです。え、、、と余談はこれぐらいにして、前回の続きをやって行きますね!
前回の記事はこちらから!
今日の学習も、引き続き、こちら!
7.5 Git のさまざまなツール - 検索 の下にある、Git ログの検索
git本家本元の情報はこちらから!
いつもの環境づくりから! 前回までの環境は、git clone でどうぞ!
$ git clone https://github.com/shiozumi-esmile/20210427.git func0085
Cloning into 'func0085'...
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 9 (delta 0), reused 9 (delta 0), pack-reused 0
Unpacking objects: 100% (9/9), done.
// 今回は、func0085フォルダー名を指定して、git cloneを実行
$ cd func0085
$ git log --oneline
29276e9 (HEAD -> main, origin/main, origin/HEAD) 3rd
b6a8ad4 2nd
0846578 1st
// ファイルは、1つのみ
$ ls
README.md
// ファイルの中身は、以下の通り!
$ cat README.md
func
test
// これで、前回の環境を復元できました!
git mv
から!
では早速、$ git mv README.md README.org
$ git add .
$ git commit -m "4th"
[main eb24716] 4th
1 file changed, 0 insertions(+), 0 deletions(-)
rename README.md => README.org (100%)
$ git log --oneline
eb24716 (HEAD -> main) 4th
29276e9 (origin/main, origin/HEAD) 3rd
b6a8ad4 2nd
0846578 1st
$ git log -S func --oneline
0846578 1st
// 1stのみで、README.org として、addした、4th コミットは、
// 抽出されませんでしたね。
$ cat README.org
func
test
mv ですからね。ファイル単体編集での、文字の変更削除ではありません。当たり前といえば、当たりまえ!(笑)
$ git log --oneline --stat -p
eb24716 (HEAD -> main) 4th
README.md => README.org | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/README.md b/README.org
similarity index 100%
rename from README.md
rename to README.org
29276e9 (origin/main, origin/HEAD) 3rd
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 494a08a..11560a9 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,2 @@
-func0083
+func
test
b6a8ad4 2nd
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index b504e04..494a08a 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
func0083
+test
0846578 1st
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b504e04
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+func0083
では、README.org を、viで編集!
// 文字、func の後ろに、0083 を追加
$ cat README.org
func0083
test
$ git add .
$ git commit -m "5th"
$ git log --oneline
b850ee4 (HEAD -> main) 5th
eb24716 4th
29276e9 (origin/main, origin/HEAD) 3rd
b6a8ad4 2nd
0846578 1st
// func0083 文字の追加と削除のコミット表示!
$ git log -S func0083 --oneline
b850ee4 (HEAD -> main) 5th
29276e9 (origin/main, origin/HEAD) 3rd
0846578 1st
git log --oneline --stat -p
最終確認!
5th コミット! --> +func0083
$ git log --oneline --stat -p
b850ee4 (HEAD -> main) 5th
README.org | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.org b/README.org
index 11560a9..494a08a 100644
--- a/README.org
+++ b/README.org
@@ -1,2 +1,2 @@
-func
+func0083
test
4h コミット! git mv なので変化なし!
eb24716 4th
README.md => README.org | 0
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/README.md b/README.org
similarity index 100%
rename from README.md
rename to README.org
3rd コミット! --> -func0083
29276e9 (origin/main, origin/HEAD) 3rd
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 494a08a..11560a9 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,2 @@
-func0083
+func
test
2nd コミット! 変化なし!
b6a8ad4 2nd
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index b504e04..494a08a 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
func0083
+test
1st コミット! --> +func0083
0846578 1st
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b504e04
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+func0083
grep でもついでに確認!
$ git grep --break --heading -n func b850ee4 eb24716 29276e9 b6a8ad4 0846578
b850ee4:README.org
1:func0083
eb24716:README.org
1:func
29276e9:README.md
1:func
b6a8ad4:README.md
1:func0083
0846578:README.md
1:func0083
コミット値を、羅列するのが面倒な場合は!
$ git grep --break --heading -n func $(git rev-list --all)
b850ee46a58fb31c5671c770d1cb14504031e226:README.org
1:func0083
eb24716cbe0d67b11e5dac9eb08402f348a834bb:README.org
1:func
29276e9873750898b3ab61ad732f5ba3341d7dbe:README.md
1:func
b6a8ad45c1c273f145ce282d5e89a5ade56ff5cd:README.md
1:func0083
084657801a8745fe4f4db86529b0b27ebb5536fa:README.md
1:func0083
まとめ
さあ~今回は、git mv で試してみましたけど、ことのほか、-S オプションでは、追加削除として認識せず、私もちょっと慌ててしまいましたよ~ まあ~、人って予測したことが外れると、結構アタフタするものなんだと再認識しましたね。(^▽^;)
それでは、今回はここまで、お疲れ様でした!
次回の記事はこちら!
Discussion