Git
章节 ▾ 第 2 版

2.7 Git 基础知识 - 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 commit,而只需输入 git ci。当你继续使用 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 <[email protected]>
Date:   Tue Aug 26 19:48:51 2008 +0800

    Test for current head

    Signed-off-by: Scott Chacon <[email protected]>

正如你所看到的,Git 只需将新命令替换为你为其设置的别名。但是,你可能想要运行一个外部命令,而不是 Git 子命令。在这种情况下,你可以使用 ! 字符来启动该命令。如果你编写了自己的工具,并希望它们与 Git 存储库配合使用,这会很有用。我们可以通过将 git visual 设置为别名来运行 gitk 来演示这一点

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