🏹
Gitコマンド入門::さまざまなツール(Git Log)第八十四回
みなさんこんにちは! 前回からすこし時間が空いてしまいましたが、みなさんの学習は、進んでいましたか? 私の方は、ちょっと証明書関連のタスクが割り込みで入ってしまい、GnuePGや、OpenSSL関連で、バタバタしてしまいました。(^▽^;) 今回は、Grepに続いて、Logを試していきますね。普段からいつもつかっている、git log ですけど、こちらも、オプションを追加すると、いろいろ出来で便利そうですね。
前回の記事はこちらから!
今日の学習も、引き続き、こちら!
7.5 Git のさまざまなツール - 検索 の下にある、Git ログの検索
git本家本元の情報はこちらから!
それでは、いつもの環境づくりから!
$ mkdir func0083 && cd $_
$ git init
Initialized empty Git repository in /home/shiozumi/mygit/func0083/.git/
$ echo func0083 > README.md
$ git add README.md
$ git commit -m "1st"
[master (root-commit) 0846578] 1st
1 file changed, 1 insertion(+)
create mode 100644 README.md
$ git log
commit 084657801a8745fe4f4db86529b0b27ebb5536fa (HEAD -> master)
Author: Makoto Shiozumi <shiozumi@esmile-hd.jp>
Date: Tue Apr 27 12:31:47 2021 +0900
1st
git log -S
オプション!
$ git log -S func0083 --oneline
0846578 (HEAD -> master) 1st
// func0083 の文字が追加された、コミット時のハッシュ値が表示されます。
// grep でコミットを指定して実行
$ git grep func0083 0846578
README.md:func0083
0846578:README.md:func0083
README.md に任意の文字列を追加!
$ echo test >> README.md
$ cat README.md
func0083
test
$ git add .
$ git commit -m "2nd"
[master b6a8ad4] 2nd
1 file changed, 1 insertion(+)
$ git log --oneline
b6a8ad4 (HEAD -> master) 2nd
0846578 1st
// 今度は、先ほど追加した、test の文字を指定して実行!
$ git log -S test --oneline
b6a8ad4 (HEAD -> master) 2nd
文字の削除も認識してくれるそうです!
// vi エディタで、0083 の文字だけ削除してみました!
$ cat README.md
func
test
$ git add .
$ git commit -m "3rd"
[master 29276e9] 3rd
1 file changed, 1 insertion(+), 1 deletion(-)
$ git log --oneline
29276e9 (HEAD -> master) 3rd
b6a8ad4 2nd
0846578 1st
$ git log -S 0083 --oneline
29276e9 (HEAD -> master) 3rd
0846578 1st
// 0083文字列の追加時の1stと、
// 0083の削除時、3rdコミットがlogで検出されました!
まとめ
みなさんは、次は、どんなことをやってみたいと思いましたか? その発想や想像力って、ほんと、プログラミングには必要な要素なんですよね~ そういったことが、ポンポン出てくるようならば、その人の思考も深いことになりますからね。1つのファイルで、文字列の追加、削除、部分編集などから、次は定番でもある、2つ以上の複数ファイルでの実験へと、まずは基本の型通りの発想ぐらいは、自然と思いつくようになりましょう!
それでは、今回はここまで、お疲れ様でした!
Discussion