Git:获取分支的所有注释
我们想用git notes add注释我们的提交,这很好用。要获取包含注释的所有提交的列表,我们使用以下命令Git:获取分支的所有注释,git,git-notes,Git,Git Notes,我们想用git notes add注释我们的提交,这很好用。要获取包含注释的所有提交的列表,我们使用以下命令 git notes | cut -d' ' -f2 | xargs -ihash git log hash -1 现在我们只找一家分行的票据。我在这里不知所措,因为这些笔记对分行一无所知。可能有一种方法可以从git log开始,然后询问git notes是否有提交说明。但我敢肯定,对于大型存储库来说,这将是一个缓慢的过程 有什么想法吗?首先我想说: git log --pretty=f
git notes | cut -d' ' -f2 | xargs -ihash git log hash -1
现在我们只找一家分行的票据。我在这里不知所措,因为这些笔记对分行一无所知。可能有一种方法可以从git log
开始,然后询问git notes
是否有提交说明。但我敢肯定,对于大型存储库来说,这将是一个缓慢的过程
有什么想法吗?首先我想说:
git log --pretty=format:"%H %N" --show-notes <branch>
git log--pretty=format:“%H%N”--显示注释
请参阅git帮助日志
,了解您可以在格式字符串中添加的其他内容,以按照您希望的方式修复输出…查找注释
显示主控台上具有注释的所有提交的所有缩写提交和注释:
git notes |\
awk '{if (!system("git merge-base --is-ancestor "$2" master")) {print $2}}' |\
xargs git show --abbrev-commit --oneline -s --notes
它是如何工作的
git notes
列出了note blob到目标提交的映射:
因此,您可以通过测试每个分支的成员资格来过滤流中的提交
但是,如果你有很多笔记,那么所有这些单独命令的成本都会增加
分行票据
将来,您可能希望在这里为不同的分支使用不同的注释引用。但是,我看不到将core.notesRef
配置选项绑定到当前分支的方法,因此您必须
git notes --ref "my-branch-name" --edit
等等,但你可能
alias gn git notes --ref "$(git rev-parse --abbrev-ref HEAD)"
来解决这个问题
这不会按分支对当前笔记进行排序,但在将来会有所帮助
您需要为每一个配置refs/notes/branchname“
branchname
如果您想共享它们,就可以获取并推送它们。我看到您在命令中使用了“git log”,根据这个答案:,如果您将分支添加到??例如:“git log mybranch”?之后,可能(我不确定)会这样做??
alias gn git notes --ref "$(git rev-parse --abbrev-ref HEAD)"