【发布时间】:2021-12-12 14:32:23
【问题描述】:
我们如何从git log 中排除Notes added by 'git notes add'?
当我们运行git log --all 时,有数百万行带有Notes added by 'git notes add'。我们需要 --all 来查看其他所有内容。我们只是不想要添加注释的提交。但是,我们确实希望看到附加到提交的实际注释本身。
那里可能有一个重复的问题,但我已经搜索了超过 8 个小时,但仍然找不到。
例如:git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset) %C(red)%N %C(reset)' --all 显示以下内容(其中Tested 是注释):
- 1b15b8e -(3 小时前)由“git notes add”添加的注释 - maker2
- 06b1158 -(2 小时前)修复了错误 #37 - maker2
Tested
我们实际上想要:
- 06b1158 -(2 小时前)修复了错误 #37 - maker2
Tested
我们不想要:
- 1b15b8e -(3 小时前)由“git notes add”添加的注释 - maker2
使用 --no-notes 实际上会产生以下结果,这不是我们想要的输出:
- 1b15b8e -(3 小时前)由“git notes add”添加的注释 - maker2 %N
- 06b1158 -(2 小时前)修复了错误 #37 - maker2 %N
Git 版本为 1.7.1
我们目前的解决方法是使用 | grep -v 'Notes added by' | less -r,但现在输出颜色变得奇怪,图形线由于某种原因以彩虹色显示。
【问题讨论】:
-
参见
--no-notes,假设它在 1.7.1 中。如果没有,请升级 Git。 (或者您想要 一些 笔记吗?除了选择特定的笔记参考之外,没有办法挑选哪些笔记。) -
@torek --no-notes 只是排除了我们真正想看到的注释,但仍然显示所有提到
Notes added by 'git notes add'的提交。我们想看笔记。我们只是不想提交。 -
这看起来像是你可以使用
grep过滤掉的东西...