Git全局别名通过git config --global alias.xxx配置,支持无参缩写(如st→status)和带!的shell封装(如lg→美化日志),提升效率与准确性,配置后立即生效。

Git 的全局别名(global alias)能帮你把一长串常用命令缩写成几个字母,比如 git status 变成 git st,git checkout -b 变成 git cb。关键不是省几个键,而是减少出错、提升节奏感——尤其在频繁切分支、查日志、清理暂存区时。
配置方式:用 git config --global alias.xxx
Git 的 alias 是写在全局配置文件(通常是 ~/.gitconfig)里的快捷映射。直接运行命令最稳妥:
-
git config --global alias.st status→git st -
git config --global alias.co checkout→git co -
git config --global alias.br branch→git br -
git config --global alias.ci commit→git ci
这些是“命令名缩写”,不带参数,执行时行为和原命令完全一致。
进阶技巧:带参数的别名(用 shell 命令封装)
想让 git lg 显示带图的美化日志?或 git unadd 一键撤销暂存?就得用 shell 形式(用引号包裹,开头加 ! 表示调用外部 shell):
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative"-
git config --global alias.unadd '!git restore --staged'→git unadd file.txt -
git config --global alias.cb '!git checkout -b'→git cb feature/login
注意:! 开头的别名会交给 shell 执行,参数自动透传,所以 cb 后面跟的分支名会原样传给 git checkout -b。
OpenClaw 技能 — 给定一个 GitHub 仓库 URL,自动解析出 owner/repo 名称,发现其中的 YAML/properties 配置文件及其配对的中文字段说明;在 `workspace/{repo}/` 目录下按同步日期(格式为 `YYYY-MM-DD`)创建时间戳子目录;写入 `.openclaw-config-state.json` 状态文件。每次用户提问前,先比对远程仓库当前 ref(如 `main` 或 `master`)的最新提交 SHA 与本地状态文件中记录的 SHA:
实用高频别名推荐(可直接复制使用)
以下是在日常协作中真正省时间的组合,兼顾安全与效率:
-
git config --global alias.s 'status -s'—— 简洁状态(git s) -
git config --global alias.dif 'diff --word-diff=color'—— 彩色词级差异 -
git config --global alias.last 'log -1 HEAD'—— 查看最新一次提交详情 -
git config --global alias.fixup '!f() { git commit --fixup="$1"; }; f'——git fixup abc123自动生成 fixup 提交 -
git config --global alias.prune-all '!git remote | xargs -I {} git remote prune {}'—— 清理所有远程已删除分支的本地引用
验证与管理别名
别名写完后,可以用这些命令确认是否生效:
-
git config --global --get-regexp alias\.—— 列出所有全局 alias -
git config --global alias.st—— 查看某个 alias 的值 -
git config --global --unset alias.st—— 删除某个 alias
修改后无需重启终端,下次执行 git xxx 就立即生效。如果想批量管理,直接编辑 ~/.gitconfig 中的 [alias] 区块也完全可行。










