こんにちは!
Gitコマンドについて調べていくうちに気になったので、git notes
コマンドを使ってみました。
元ネタはこちら
git notes とは
git notes
は、既存のオブジェクト(主にコミット)に対して、そのオブジェクト自体を変更することなく、追加の情報(ノート)を付加できる機能です。デフォルトでは refs/notes/commits
に保存されます。
主な使用目的
- コミットメッセージを変更せずに補足情報を追加したい場合
- コミット後に得られた情報(テスト結果など)を記録したい場合
基本的なサブコマンド
-
git notes add
: ノートを追加 -
git notes edit
: ノートを編集 -
git notes show
: ノートを表示 -
git notes remove
: ノートを削除 -
git notes list
: ノート一覧を表示
実行例
まずはgit log
でコミットログを確認
% git log
commit 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec (origin/main, main)
Author: masashi yamashita <xxxxx@gmail.com>
Date: Mon Sep 2 21:41:51 2024 +0900
readmeを修正
このままnotesを確認すると、ノートが無いよ、と言われます。
% git notes show 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
error: no note found for object 67a81df9128a78004f2ed41d85ee3d410b390eec.
このコミットに対して、ノートを追加します。
% git notes add -m 'noteコ マンドのテスト' 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
ノートを確認してみます。
% git notes show 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
noteコマンドのテスト
git log
はどうなっているでしょうか。
% git log 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
commit 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec (origin/main, main)
Author: masashi yamashita <xxxxx@gmail.com>
Date: Mon Sep 2 21:41:51 2024 +0900
readmeを修正
Notes:
noteコマンドのテスト
Notesに追加されてましたね!
次に、上書きしてみます。
% git notes add -f -m 'ノートを上書き' 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
Overwriting existing notes for object 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
% git log 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
commit 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec (origin/main, main)
Author: masashi yamashita <xxxxx@gmail.com>
Date: Mon Sep 2 21:41:51 2024 +0900
readmeを修正
Notes:
ノートを上書き
さらに、編集してみます。
コマンドを実行すると、エディタが起動し、編集できました。
% git notes edit 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
ノートを編集
#
# Write/edit the notes for the following object:
# commit 67axxdf9128a78xx4f2ed41d85ee3d410xx90eec
# Author: masashi yamashita <xxxxx@gmail.com>
# Date: Mon Sep 2 21:41:51 2024 +0900
#
# readmeを修正
#
# README.md | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
# 1 file changed, 76 insertions(+), 16 deletions(-)
確認すると、修正が反映されてました。
% git log 67a81df9128a78004f2ed41d85ee3d410b390eec
commit 67a81df9128a78004f2ed41d85ee3d410b390eec (origin/main, main)
Author: masashi yamashita <june.twelve.2010@gmail.com>
Date: Mon Sep 2 21:41:51 2024 +0900
readmeを修正
Notes:
ノートを編集
まとめ
git notes
コマンドを使うと、コミット履歴をきれいに保ったままで、必要な補足情報を管理できます。
このコマンドを活用して、分かりやすい開発を行いましょう!