我需要检索所有分支的所有提交。我使用命令检索它们:
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”中减去,但在我看来应该有一个更容易解决这种微不足道的情况。
答案 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`
或者以其他方式枚举您想要记录的引用,如果您有许多分支/标记,这可以理解为单调乏味...