Git:如何在没有注释的情况下检索所有分支的所有提交?

问题描述 投票:0回答:2

我需要检索所有分支的所有提交。我使用命令检索它们:

git log --pretty="%H %f" --all

但在这种情况下,Git 会向我返回所有带有注释的提交(如果存在)。我尝试使用如下内容:

 git log --pretty="%H %f" --all --no-notes

看起来命令“--all”覆盖了“--no-notes”并且什么也不会发生。

请告知如何在没有注释的情况下检索所有分支的所有提交?

附注是的,我可以执行“git Notes”,解析它们,然后从“git log --all”中减去,但在我看来,对于这种微不足道的情况应该有一个更简单的解决方案。

git git-log git-notes
2个回答
2
投票

正如您所说,

--all
覆盖
--no-notes
。因此,您可能需要拆分
--all
以仅包含您想要的参考。如果您只想显示所有分支:

git log --pretty="%H %f" --no-notes --branches

或者如果您想要更多:

git log --pretty="%H %f" --no-notes --branches --tags --remote 

0
投票

这并不漂亮,但除了

--all
,你可以这样做:

git log --pretty="%H %f" `git for-each-ref --format="%(refname)" | grep -v refs/notes`

或者以其他方式枚举您想要记录的引用,如果您有很多分支/标签,这可能会很乏味......

© www.soinside.com 2019 - 2024. All rights reserved.