先确认Shell类型(zsh或bash),再编辑对应配置文件(~/.zshrc或~/.bash_profile),添加无空格等号的别名定义,最后source生效并用alias和glg验证。

你需要在Mac终端里快速执行带一堆参数的长命令,比如每次都要输git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative,但又不想每次都复制粘贴或记不住。
确认当前Shell类型并找到对应配置文件
打开终端,运行:echo $SHELL。如果输出是/bin/zsh(macOS Catalina及之后默认),就编辑~/.zshrc;如果是/bin/bash,则编辑~/.bash_profile。
【必须确认Shell类型,否则改错文件会导致别名不生效】
用ls -a ~检查目标文件是否存在。若不存在,直接用touch ~/.zshrc新建(zsh用户)或touch ~/.bash_profile(bash用户)。
写入带复杂参数的别名定义
方法一:用vim直接编辑(推荐)
输入vim ~/.zshrc → 按i进入插入模式 → 在文件末尾新增一行:alias glg="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative" → 按Esc退出插入 → 输入:wq保存退出。
方法二:用echo追加(防误覆盖)
执行:echo 'alias glg="git log --graph --pretty=format:\"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset\" --abbrev-commit --date=relative"' >> ~/.zshrc。注意这里用双引号包裹整个echo内容,内部双引号用反斜杠转义,避免shell提前解析。
这一步最容易出错:别名等号=两边绝对不能有空格,否则shell会报command not found。引号必须成对,且嵌套时要转义,否则参数会被截断或报错。
使别名立即生效并验证
第一步:执行source ~/.zshrc(zsh)或source ~/.bash_profile(bash)。这步跳过就永远用不了新别名。
第二步:输入alias回车,从列表中查找glg=...是否完整显示——确认定义已加载。
第三步:直接输入glg回车。如果看到带颜色、图形化结构的git提交历史,说明成功;如果报command not found: glg,请回头检查前两步的文件路径和等号空格。

















