【问题标题】:What does the exclamation mark mean in git config alias?git config 别名中的感叹号是什么意思?
【发布时间】:2014-01-31 18:21:06
【问题描述】:

我只看到一个 git config 命令如下:

git config --global alias.out \!"git fetch; git cherry origin/HEAD -v"

这是什么意思?是不是等于这个:

git config --global alias.out '!git fetch; git cherry origin/HEAD -v',

我对感叹号感到困惑,任何帮助将不胜感激。

【问题讨论】:

  • 我认为感叹号意味着别名是一个shell命令,而不是一个git命令。不过,我不记得 100%。
  • 请注意,如果您为 lg1 = log --graph --format... 之类的命令设置别名,则不能将 that 视为子命令(lg = lg1 不起作用),但您需要使用!,如lg = !"git lg1"

标签: git


【解决方案1】:

来自git-config manual

如果别名扩展以感叹号为前缀,将被视为shell 命令。

【讨论】:

  • “请注意,shell 命令将从存储库的顶级目录执行,不一定是当前目录。” → 有用,例如(例如)git config --global alias.conf "!cat .git/config"
【解决方案2】:

来自https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases

但是,也许您想运行外部命令,而不是 Git 子命令。在这种情况下,您可以使用 !人物

所以如果你只想使用 git subcommand,你不需要使用 !在这里。

但是如果你想使用git命令/外部命令,那么你需要!。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 2021-09-18
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 2014-07-23
    • 1970-01-01
    相关资源
    最近更新 更多