Git get--格式的源信息

Git get--格式的源信息,git,git-log,Git,Git Log,我正试图以一种非常特殊的格式格式化我的git日志 我最初使用的是git log--format=“%H、%an、%ae、%ad、%p”,它将为每次提交生成以下输出: 现在,我正在尝试获取每个提交的ref(即标记/分支)信息。我可以使用git log--source命令查看此信息,这正好显示了我想要的内容(即,位于commit SHA之后的ref): 我似乎找不到任何引用基于--source标志的提交的分支/tag/ref的格式占位符。我只是缺少正确的占位符吗?或者,是否有其他方法可以格式化/显示

我正试图以一种非常特殊的格式格式化我的git日志

我最初使用的是
git log--format=“%H、%an、%ae、%ad、%p”
,它将为每次提交生成以下输出:

现在,我正在尝试获取每个提交的ref(即标记/分支)信息。我可以使用
git log--source
命令查看此信息,这正好显示了我想要的内容(即,位于commit SHA之后的ref):


我似乎找不到任何引用基于
--source
标志的提交的分支/tag/ref的格式占位符。我只是缺少正确的占位符吗?或者,是否有其他方法可以格式化/显示ref以及我需要的自定义信息?

%d
可能是您正在寻找的-它将显示每个提交引用的分支/标记。

我也在寻找它。我无法在git日志中找到一个标志,但以下操作将起作用,在CSV行的末尾添加一列:

$ git log --no-color --source --oneline --all | while read sha1 srcref subject
> do echo "$(git log -1 --format="%H,%an,%ae,%ad,%p" $sha1),$source"
> done
当提供了
--source
时,
--oneline
的格式是
%h%%s
,这样我们就可以部分实现这一点。然后将SHA1与其余的格式说明符一起反馈到git日志-1中,我们就可以完成剩下的工作。

对于git 2.21(2019年第1季度),自定义用户格式“
log--format
”学习了
%S
原子,它代表遍历到达提交源的提示,即
--source

我当时在“”中提到过

参见作者(2019年1月11日)
(于2019年1月29日合并)

:将%S选项(如
--source
)添加到
日志--format
签字人:Issac Trotts

例如,使写作成为可能

git log --format="%H,%S"
其中,末尾的
%S
是一个新的占位符,为每个提交打印ref(标记/分支)

使用
%d
似乎是一种替代方法,但它只显示分支中最后一次提交的引用

例如:

C:\Users\VonC\git\git>git log --format="%H,%S" origin/maint
53a06cf39b756eddfe4a2a34da93e3d04eb7b728,origin/maint
67af91c47a6672b99e1f742123415f96cbafd19a,origin/maint
a7312d1a28ff3ab0a5a5427b35f01d943103cba8,origin/maint
并且,使用您的格式(附加
%S
--format=“%H、%an、%ae、%ad、%p、%S”


%d将显示提交的分支/标记。尽管它只会在分支/标记的最近提交时显示它。换言之,不是每个提交都会有这些信息,只有少数几个。我正在寻找一种更为一致的方式来拥有分支/标记,而不管提交是否在分支/标记创建或更改时进行。
$ git log --no-color --source --oneline --all | while read sha1 srcref subject
> do echo "$(git log -1 --format="%H,%an,%ae,%ad,%p" $sha1),$source"
> done
git log --format="%H,%S"
C:\Users\VonC\git\git>git log --format="%H,%S" origin/maint
53a06cf39b756eddfe4a2a34da93e3d04eb7b728,origin/maint
67af91c47a6672b99e1f742123415f96cbafd19a,origin/maint
a7312d1a28ff3ab0a5a5427b35f01d943103cba8,origin/maint
C:\Users\VonC\git\git>git log --format="%H,%an,%ae,%ad,%p,%S" origin/maint
53a06cf39b756eddfe4a2a34da93e3d04eb7b728,Johannes Schindelin,johannes.schindelin@gmx.de,Wed Dec 4 23:10:12 2019 +0100,67af91c47a,origin/maint
67af91c47a6672b99e1f742123415f96cbafd19a,Johannes Schindelin,johannes.schindelin@gmx.de,Wed Dec 4 23:09:11 2019 +0100,da72936f54 a7312d1a28,origin/maint
a7312d1a28ff3ab0a5a5427b35f01d943103cba8,Johannes Schindelin,johannes.schindelin@gmx.de,Wed Dec 4 23:07:46 2019 +0100,7fd9fd94fb,origin/maint