4

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

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

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

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

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

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

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

4

2 回答 2

2

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

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

或者如果你想要更多:

git log --pretty="%H %f" --no-notes --branches --tags --remote 
于 2012-10-11T16:20:56.583 回答
0

它不漂亮,但--all你可以这样做:

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

或者以其他方式仅枚举您想要记录的 refs,如果您有许多分支/标签,这可以理解为乏味......

于 2012-10-11T15:15:20.543 回答