"not a git command" 将 bash 脚本配置为 git 别名

"not a git command" configuring a bash script as a git alias

我想将 .gitconfig 中的特定别名设置为 bash 脚本,如下所示:

[alias]
    example = "~/git-scripts/example-script.sh"

而不是:

[alias]
    example = "!f() { arg1=; echo $arg1; }; f"

所以,上面的回显脚本将在这个文件中 ~/git-scripts/example-script.sh

当我试图执行这样的别名时,出现了这个错误:

expansion of alias 'example' failed; ~/git-scripts/example-script.sh is not a git command

怎么了?

正如查尔斯·达菲在评论区所说的,我可以让它像这样工作:

[alias]
    example = "! ~/git-scripts/example-script"

只需在脚本路径前添加!

小心:

  1. 权限:如果你在Linux,只需像这样添加执行权限:

    $ chmod +x YOUR_SCRIPT_PATH

  2. 请注意,您不需要脚本文件中的扩展名 (.sh)。您可以阅读更多相关信息 here