在 Git 中创建别名的正确方法是什么?

What's the correct way to create an alias in Git?

我正在尝试创建一个别名来初始化一个 repo,但它不起作用,我也不确定为什么,这就是别名:

> git config --global alias.init-setinfo "git init && git config --global user.name \"myName\" && git config --global user.mail \"myMail@gmail.com\""

调用它 returns:

> expansion of alias 'init-setinfo' failed; 'git' is not a git command

Git 自动别名 运行 git 命令。

这就是为什么您的别名扩展为:

git git init && ...

这解释了您看到的错误。

克服这个问题的一种方法是在别名定义中使用 ! 字符,它告诉 Git 到 运行 它作为外部命令:

git config --global alias.init-setinfo "!git init && ...

参考文档:https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases

(...) Git simply replaces the new command with whatever you alias it for. However, maybe you want to run an external command, rather than a Git subcommand. In that case, you start the command with a ! character.


编辑:另见 Git Alias - Multiple Commands and Parameters