章节 ▾
第二版
-
A1. 附录 A: Git 在其他环境
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 小结
-
A2. 附录 B: 在应用程序中嵌入 Git
-
A3. 附录 C: Git 命令
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,你可能会经常使用其他命令;不要犹豫创建新的别名。
这项技术在创建你认为应该存在的命令时也非常有用。例如,为了纠正你遇到的取消暂存文件的可用性问题,你可以将自己的 unstage 别名添加到 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'