您每天在终端中输入多少次诸如 git status、git checkout 或 git commit 之类的命令?对于活跃的开发人员来说,答案很容易是数十或数百。重复输入这些完整命令会浪费击键次数、增加打字错误并减慢您的开发动力。
Git 有一个内置功能可以解决这个问题:别名。通过配置别名,您可以将复杂的选项或常用命令映射到简短的自定义缩写。
在本指南中,我们将逐步介绍如何设置别名并分享最流行的配置列表,以提高您的日常工作效率。
1. 如何定义 Git 别名
您可以通过直接在终端中运行配置命令,或使用文本编辑器打开并编辑全局配置文件 (~/.gitconfig) 来添加 Git 别名。
通过 CLI 配置:
# Register 'st' as a shortcut for 'status'
git config --global alias.st status
通过 ~/.gitconfig 配置:
打开配置文件并在 [alias] 部分下构建它:
[alias]
st = status
co = checkout
br = branch
ci = commit
2. 每个开发者必备的别名
以下是可最大程度地减少最常用工作流程中的击键次数的基本快捷键:
[alias]
st = status -sb # Displays a short, concise status summary
co = checkout
br = branch
ci = commit
cm = commit -m # Fast commit with a message inline
di = diff
pl = pull
ps = push
强烈建议使用 status -sb 标志,因为它去掉了详细的指令,只留下分支名称和修改文件的列表。
3. 先进且高效的别名
让我们看看结合了格式化选项和 shell 脚本的更复杂的别名。
① 漂亮的日志可视化 (git graph)
在标准终端输出中读取提交路径和合并历史记录很困难。注册自定义日志查看器别名:
git config --global alias.graph "log --graph --date=short --decorate --pretty=format:'%C(yellow)%h%Creset %C(magenta)%ad%Creset%C(auto)%d%Creset %s %C(cyan)[%an]%Creset'"
运行 git graph 将显示一个彩色、干净的 ASCII 分支树图,映射提交日期、作者和参考文献。
② 即时修改最后一次提交 (git amend)
如果您忘记暂存文件或在上次提交消息中输入错误,请使用此别名将暂存更改吸收到上次提交中,而无需编辑消息:
[alias]
amend = commit --amend --no-edit
③ 清理合并分支(git sweep)
随着功能的集成,您的本地环境将充满旧的合并分支。使用 shell 管道(在别名定义中使用 ! 前缀调用)来清理它们:
[alias]
sweep = "!git branch --merged | grep -v '\\*' | grep -v 'main' | grep -v 'master' | grep -v 'develop' | xargs -r git branch -d"
结论
设置 Git 别名是一项省力、高收益的配置更改。一旦写入全局 ~/.gitconfig 文件:
- 主要命令的键入要求被最小化。
- 复杂的日志格式化命令被简化为单个单词。
- 可以使用 shell 触发器自动执行工作区清理命令。
立即自定义您的配置文件以构建更快、更高效的命令行工作流程。

