Help us understand the problem. What is going on with this article?

git notes でコミット自体を変更せずに git に注釈を残す

More than 3 years have passed since last update.

git notes についてまとめます。

git notes とは?

git のコミットの注釈を管理するコマンドです。
注釈の追加、編集、削除、参照など様々な操作が可能です。
namespace を設定することが可能で、デフォルトでは commits ネームスペースが指定されます。

用途

コミットオブジェクトそのものを変更することなく、コミットに対して注釈(メモ)を補足できる。

例えばコミットしてからだいぶ経ってから古いコミットによるバグが発覚して、
あとからそのコミットにひも付けた注釈(メモ)を追加したい場合などです。

機能一覧

追加

# HEADのコミットにノートを追加
$ git notes add -m "Note1" HEAD
# HEADの一つ前のコミットにノートを追加
$ git notes add -m "Note2" HEAD~
# 任意のコミットにノートを追加
$ git notes add -m "Note3" <some sha1 hash>

リスト

左側のハッシュがnote本体のハッシュ。
右側のハッシュがnoteをつけたコミットのハッシュです。

$ git notes list
04ac83ee0e9b9bff9e4d5a8aa3c9945725ff9a51 8318a1b27be996a102d155c7e412846f6ddb0e1b
8de2ed665cb9306796f48d5ee9f80306267edd0b a958bd1ca331999827dc49247a8ed49ebc2f3ec3

参照

$ git notes show 8318a1b27be996a102d155c7e412846f6ddb0e1b
Note1

ログから確認

$ git log
commit 8318a1b27be996a102d155c7e412846f6ddb0e1b
Author: user
Date:   Wed Sep 14 21:26:29 2016 +0900

   hige

Notes:
   Note1

commit a958bd1ca331999827dc49247a8ed49ebc2f3ec3
Author: user
Date:   Wed Sep 14 21:16:42 2016 +0900

   hoge1, hoge2

Notes:
   Note2

GitHub 連携

https://github.com/blog/707-git-notes-display

git_notes.png

GitHubを通して notes を共有することはできるが、WebUI はなくなってしまったようです。
あまり使われなかった、ということなのかな?

push

notes の情報は通常の push とは別に push する必要があります

$ git push origin refs/notes/commits
  • ~/.gitconfig に追加
[alias]
    pushnotes = "!sh -c 'git push $1 refs/notes/*' -"
  • alias で呼び出し
$ git pushnotes origin

fetch

fetch も push と同じく別途 fetch する必要があります

$ git fetch origin refs/notes/commits:refs/notes/commits
  • ~/.gitconfig に追加
[alias]
    fetchnotes = "!sh -c 'git fetch $1 refs/notes/*:refs/notes/*' -"
  • alias で呼び出し
$ git fetchnotes origin

GitHub で push した notes を確認する場合

https://github.com/<user>/<repo>/tree/refs/notes/commits にアクセスする

関連情報

tbpgr
Rubyを扱う人事(研修開発、エンジニア採用) Learning Designer。 tbpgr の読み方は(てぃーびー) 個人ブログでも色々と情報を垂れ流してます。 http://tbpgr.hatenablog.com/
http://tbpgr.hatenablog.com/
studist
「伝えることを、もっと簡単に」をミッションにビジュアルSOPマネジメントプラットフォームのBtoB SaaS「Teachme Biz」を開発・運営するスタートアップ
https://medium.com/studist-dev
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away