Git:如何从没有笔记的所有分支中检索所有提交?

时间:2012-10-11 14:48:45

标签: git

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

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

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

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

看起来命令“--all”会覆盖“--no-notes”,不会发生任何事情。

请告知我如何在没有笔记的情况下检索所有分支机构的所有提交?

P.S。是的,我可以执行“git notes”,解析它们然后从“git log --all”中减去,但在我看来应该有一个更容易解决这种微不足道的情况。

2 个答案:

答案 0 :(得分:2)

正如您所说,--all会覆盖--no-notes。因此,您可能希望将--all拆分为仅包含您想要的引用。如果你只想展示所有分支:

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

或者如果你想要更多:

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

答案 1 :(得分:0)

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

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

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