🗝️

Gitコマンド入門::revert(その4,grep,blame)「第三十九回」

2021/03/09に公開

みなさん、こんにちは~ 前回は、cherry-pick を学習しましたが、いかがでしたか?
ちなみに、-n オプションを付けて実行すると、コミットを行わずに、ファイルだけ取り出せるので、$ git cherry-pick -n [コミットID] も、一度は、お試しくださいね!
ということで、今回は、git grep, git blame を学習して行きましょう!

前回の記事は、こちら!

https://zenn.dev/shiozumi/articles/dba80f398fe1fb

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

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

初期時のリポジトリーは、こちらから取得!

git clone https://github.com/shiozumi-makoto/20210309.git -b main v.0038

$ mkdir temp <!-- 適当なフォルダーを作成してください!
$ cd temp <!-- そこに移動して、git clone! 
git clone https://github.com/shiozumi-makoto/20210309.git -b main v.0038
​
$ ls -a v.0038/
.  ..  .git  README.md
// .gitリポジトリと、README.md があればOKです!

前回、第三十八回と同様のリポジトリを使います。

git grep cherry-pick

$ git grep cherry-pick
README.md:# git cherry-pick

はい、只のこれだけです(笑) grep コマンドは、思えばもう30年以上もの昔、MS-DOSの時代から使っていましたね。その時は、Red2 というテキストエディタの製品があって、その中から、grepコマンドで、ファイルの中身の検索をしていました。まあ~そんなことは、置いといて、各自で、いろいろとワードを検索してみてください。

では、早速、test.txt を追加して、grep !

$ vi test.txt
// viエディターで上記の文章をコピペして、保存しました!(笑)

$ cat test.txt
はい、只のこれだけです(笑) grep コマンドは、思えばもう30年以上もの昔、
MS-DOSの時代から使っていましたね。その時は、Red2 というテキストエディタの
製品があって、その中から、grepコマンドで、ファイル の中身の検索をしていました。
まあ~そんなことは、置いといて、各自で、いろいろとワードを検索してみてください。

// では、addしてcommit!
$ git add test.txt
$ git commit -m "test.txt"
[main d701307] test.txt
 1 file changed, 2 insertions(+)
 create mode 100644 test.txt

// 早速、git grep で、grepの文字を検索!
$ git grep grep
test.txt:はい、只のこれだけです(笑) grep コマンドは、// ~ 以下、中略

ちなみに、日本語や、*ワイルドカードも使えそうですね。

git blame README.md

次は、git blameで、ファイル名を指定すると、そのコミットを検索してくれるコマンドです。

$  git blame README.md
^9fda91b (Makoto Shiozumi 2021-03-09 07:46:26 +0900 1) # git cherry-pick

こちらも、動作はいたってシンプルですから、解りやすいですね。何か補足をすることもありませんけど、パット思いつくことなら、他のブランチや、リモートに対して、コマンドが有効なのかぐらいですけどね~

とにかくいまのところは、実戦での使用ではありませんから、このぐらいで十分でしょう! 前回のcherry-pickもそうですが、あとは現場にて、そのシーンになったとき、適切に使えるのかどうかです。ただ、毎度の話ですが、きっとそもそものファイル分担が出来ていない為に、マージエラーが続出して、なかなか思うようには、行かないのかな~?!(^▽^;) な~んて思うこの頃です。

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

https://zenn.dev/shiozumi/articles/088e64fee0d35d
https://twitter.com/esmile2013

Discussion