您要寻找的别名是:files = "!git diff --name-status \"$1\"^ \"$1\" #"通过论证验证:files = "!cd -- \"${GIT_PREFIX:-.}\" && [ x$# != x1 ] && echo commit-ish required >&2 || git diff --name-status \"$1\"^ \"$1\" #"这个最终#很重要-它阻止所有用户提供的参数被shell处理(它将它们注释掉)。注:git将所有用户提供的参数放在命令行的末尾。若要查看此操作,请尝试:GIT_TRACE=2 git files a b c d逃逸者(由于筑巢)引号对于包含空格或"; rm -rf --no-preserve-root /;)