Git 漂亮的格式%S无法按预期的方式工作

Git 漂亮的格式%S无法按预期的方式工作,git,Git,我使用的命令是git log--pretty=format:“{ref:%S,From:%p}|”,但它无法按照预期的方式工作。 我希望收到类似ref:'refs/heads/master'的日志 我机器上的Git版本是2.25.0.windows.1。我需要从日志中获取提交的分支。我不能使用git reflog,因为我正在使用库“SimpleGit”来获取这些信息,而这个库不支持git reflog 如果命令行上没有列出分支名称,%S将始终生成头,因为这是在图形遍历期间到达提交的名称 我需要

我使用的命令是git log--pretty=format:“{ref:%S,From:%p}|”,但它无法按照预期的方式工作。

我希望收到类似ref:'refs/heads/master'的日志


我机器上的Git版本是2.25.0.windows.1。我需要从日志中获取提交的分支。我不能使用git reflog,因为我正在使用库“SimpleGit”来获取这些信息,而这个库不支持git reflog

如果命令行上没有列出分支名称,
%S
将始终生成
,因为这是在图形遍历期间到达提交的名称

我需要从日志中获取提交的分支

我没有分支。反之亦然。考虑这个图片段,在左边有较老的提交,右边的是较新的,用简单大写字母替换散列ID,方便:

          I--J   <-- branch1
         /
...--G--H
         \
          K--L   <-- branch2
然后,在
H
之前的提交现在位于所有三个分支上

由其哈希ID(即其真实名称)找到的任何给定提交都可以位于任意数量的分支上。这个数字包括零!提交不能位于任何分支上。标记的提交可以是这样的,并且由
git stash
进行的提交通常是这样的,在所有分支上都是这样

包含给定提交的分支集可以从一分钟更改到下一分钟,因为控制Git存储库的任何人都可以添加、删除或更新分支名称,并可以向存储库添加新的提交。添加合并提交倾向于添加更多可以到达给定提交的名称,尽管细节取决于您随后如何操作这些名称

但是,在给定任何提交哈希ID的情况下,您可以使用以下方法找到当前确实包含该提交的分支名称集:

git branch --contains <hash>
git分支——包含
请注意,这可能会产生零个、一个或多个分支名称

git branch --contains <hash>