章节 ▾ 第二版

2.7 Git 基础 - Git 别名

Git 别名

在进入下一章之前,我们想介绍一个可以使您的 Git 体验更简单、更容易和更熟悉的功能:别名。 为了清楚起见,我们不会在本书中的其他任何地方使用它们,但是如果您经常使用 Git,那么您应该了解别名。

如果您部分输入命令,Git 不会自动推断您的命令。 如果您不想键入每个 Git 命令的全部文本,则可以使用 git config 轻松地为每个命令设置别名。 以下是您可能要设置的几个示例

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

这意味着,例如,您只需键入 git ci,而不是键入 git commit。 随着您继续使用 Git,您可能会经常使用其他命令; 不要犹豫创建新的别名。

此技术在创建您认为应该存在的命令时也非常有用。 例如,为了纠正您在使用取消暂存文件时遇到的可用性问题,您可以将自己的取消暂存别名添加到 Git

$ git config --global alias.unstage 'reset HEAD --'

这使得以下两个命令等效

$ git unstage fileA
$ git reset HEAD -- fileA

这看起来更清楚一点。 添加 last 命令也很常见,如下所示

$ git config --global alias.last 'log -1 HEAD'

这样,您可以轻松地看到最后一次提交

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    Test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

如您所见,Git 只是用您为其设置别名的内容替换了新命令。 但是,您可能想要运行外部命令,而不是 Git 子命令。 在这种情况下,您可以使用 ! 字符启动命令。 如果您编写自己的工具来处理 Git 存储库,这将非常有用。 我们可以通过将 git visual 设置为运行 gitk 来进行演示

$ git config --global alias.visual '!gitk'
scroll-to-top