我需要检索所有分支的所有提交。我使用命令检索它们:
git log --pretty="%H %f" --all
但在这种情况下,Git 会向我返回所有带有注释的提交(如果存在)。我尝试使用如下内容:
git log --pretty="%H %f" --all --no-notes
看起来命令“--all”覆盖了“--no-notes”并且什么也不会发生。
请告知如何在没有注释的情况下检索所有分支的所有提交?
附注是的,我可以执行“git Notes”,解析它们,然后从“git log --all”中减去,但在我看来,对于这种微不足道的情况应该有一个更简单的解决方案。
正如您所说,
--all
覆盖--no-notes
。因此,您可能需要拆分 --all
以仅包含您想要的参考。如果您只想显示所有分支:
git log --pretty="%H %f" --no-notes --branches
或者如果您想要更多:
git log --pretty="%H %f" --no-notes --branches --tags --remote
这并不漂亮,但除了
--all
,你可以这样做:
git log --pretty="%H %f" `git for-each-ref --format="%(refname)" | grep -v refs/notes`
或者以其他方式枚举您想要记录的引用,如果您有很多分支/标签,这可能会很乏味......