设置 git 别名,但随后调用它会得到 'command not found'
set up git alias, but then calling it gives 'command not found'
我想在 git 中设置一个别名来计算存储库中的总行数,所以我进入了 Git Bash 并输入了这个:
git config --global alias.linecount 'ls-files -z | xargs -0 wc -l'
我输入命令后,没有任何错误提示。然后我输入了
linecount
并收到此错误消息:
sh: linecount: command not found
是否有其他方法可以设置别名?
您设置了 git 别名,而不是 shell 别名。
您需要使用 git 到 运行 它。
git linecount
如果您希望使用 shell 功能(如管道),您还需要使用 shell-exec git 别名。
git config --global alias.linecount '!git ls-files -z | xargs -0 wc -l'
您缺少感叹号 (!
)。
发件人:man git-config
:
If the alias expansion is prefixed with an exclamation point, it will be treated as a shell command.
你可以这样做:
git config alias.linecount 'ls-files -z'
这将是 git
命令的别名,但是由于您使用的是 shell 语法(如管道),因此它的所有参数都由 git
本身解释, 所以在这种情况下你需要澄清这应该被视为 shell 命令。
这是 ~/.gitconfig
中的示例 git 别名:
[alias]
linecount = !git ls-files -z | xargs -0 wc -l
在命令行中,正确的语法是:
git config alias.linecount '!git ls-files -z | xargs -0 wc -l'
注意:添加--global
是可选的。
然后你调用它:
git linecount
我想在 git 中设置一个别名来计算存储库中的总行数,所以我进入了 Git Bash 并输入了这个:
git config --global alias.linecount 'ls-files -z | xargs -0 wc -l'
我输入命令后,没有任何错误提示。然后我输入了
linecount
并收到此错误消息:
sh: linecount: command not found
是否有其他方法可以设置别名?
您设置了 git 别名,而不是 shell 别名。
您需要使用 git 到 运行 它。
git linecount
如果您希望使用 shell 功能(如管道),您还需要使用 shell-exec git 别名。
git config --global alias.linecount '!git ls-files -z | xargs -0 wc -l'
您缺少感叹号 (!
)。
发件人:man git-config
:
If the alias expansion is prefixed with an exclamation point, it will be treated as a shell command.
你可以这样做:
git config alias.linecount 'ls-files -z'
这将是 git
命令的别名,但是由于您使用的是 shell 语法(如管道),因此它的所有参数都由 git
本身解释, 所以在这种情况下你需要澄清这应该被视为 shell 命令。
这是 ~/.gitconfig
中的示例 git 别名:
[alias]
linecount = !git ls-files -z | xargs -0 wc -l
在命令行中,正确的语法是:
git config alias.linecount '!git ls-files -z | xargs -0 wc -l'
注意:添加--global
是可选的。
然后你调用它:
git linecount