- git に保存されるオブジェクトを変更せずにノートを追加する機能
- 通常はコミットに別のメタデータを追加する用途で使われる
- コミット後でもあとから追加・修正・削除が可能なため
- デフォルトでは
refs/notes/commits に別途保存される
git log で見ると Notes: 項目として一緒に表示される
- 実際の利用例
- 「git プロジェクト」ではコミットを関連するメーリングリストのスレッドと結び付けるために使われている
- コミット/ブランチの時間追跡
- コードレビューやテストに関する情報を記録
- Gerrit 向けの reviewnotes プラグインを使うと、コードレビューを git note に記録できる
- Google のある開発者は git-appraise という git note ベースのフルコードレビューシステムを作ったこともある
- 「完全分散コードレビュー」と名付けている
- ローカルマシンで「レビュー依頼/コメント/レビューおよびマージ」が可能
- Web インターフェースも備えている
- しかし誰も git notes を使っていない
- 現状では git notes は使いにくい
- GitHub は 2014 年以降、Notes の表示をやめている
- コミットについては
gitconfig を使って note をもう少し簡単に見たり追加したりできるが、blob/tree については簡単ではない
Forge independence(Forge からの独立)
- git は分散コードレビューシステムである。しかし、git repo の価値の多くは GitHub のような保管庫に閉じ込められている
- git notes はその代替へ向かう道である
- git はコード断片の履歴を配布する。git notes はプロジェクト全体の履歴を配布できるようにする可能性がある
1件のコメント
git noteは初めて知りました。共有ありがとうございます。