gpt4 book ai didi

regex - git log 禁止引用匹配指定的模式

转载 作者:太空狗 更新时间:2023-10-29 13:11:02 24 4
gpt4 key购买 nike

我经常使用以下 git-log 命令:

git log --oneline --graph --decorate --all

除了一个异常(exception),这个命令对我来说是完美的。我在 refs/arch/ 中维护了一组 refs 我想保留(“arch”代表“archive”),但我不想看到它们每次我查看我的 git 日志时。如果它们是现有 branchtag 的祖先,我不介意它们出现,但我真的不想看到 会出现的一系列提交否则不会出现在 git 日志中,而是因为它们在给定 refs/arch/* ref 的提交历史中。

例如,在下图中,左侧是我当前在运行 git log --oneline --graph --decorate --all 时看到的内容的说明。如您所见,如果 refs/arch/2 不存在,则该提交将不会显示在日志中。 (假设没有 refs not 显示在左侧图像中。)现在,右侧是两个备选日志图的说明,要么其中会很好。我不介意看到任何匹配 refs/arch/* 的东西,只要它在 branchtag 的提交历史中。但是,在下图中,我绝对不想看到 refs/arch/2 引用的提交。

Illustration of question

如何修改我的 git-log 命令以在图中描述的任何一种意义上抑制 refs/arch/*

最佳答案

你想要的是:

git log --oneline --graph --decorate --exclude 'refs/arch/*' --all

--exclude选项是 new in git 1.9.0 .


来自 git-log 手册页:

--exclude=<glob-pattern>

Do not include refs matching <glob-pattern> that the next --all, --branches, --tags, --remotes, or --glob would otherwise consider. Repetitions of this option accumulate exclusion patterns up to the next --all, --branches, --tags, --remotes, or --glob option (other options or arguments do not clear accumlated patterns).

The patterns given should not begin with refs/heads, refs/tags, or refs/remotes when applied to --branches, --tags, or --remotes, respectively, and they must begin with refs/ when applied to --glob or --all. If a trailing /* is intended, it must be given explicitly.


如果您使用的是某种 Ubuntu 版本,您可以从 the Ubuntu Git Maintainers team ppa 升级 git .

  1. sudo add-apt-repository ppa:git-core/ppa
  2. sudo apt-get update
  3. sudo apt-get upgrade

关于regex - git log 禁止引用匹配指定的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com