我们日常在使用 git 命令时总会有这些遭遇,输入命令如果稍微打快点,不专心一点就容易
- 把
git status
时老是打错成什么git statsu
、git stats
、git satuas
- 把
git checkout xxx
时老是打错成什么git cheout
、git checkout
、git chkeckout
然后迎接报错,又要吭哧吭哧的重新输入😭😭:
cmd
jrk@Mac learn-dubbo % git stusas
git:'stusas' 不是一个 git 命令。参见 'git --help'。
最相似的命令是
stash
归根结底这里的问题就是 git 命令的单词有点又臭又长。每次切换分支、提交、查看暂存区都得打 checkout、commit、status 这种长串的命令,难免会打错单词。
这些命令又是很固定不会变的单词,能否把 checkout 改成打 ch、commit 打 co、status 打 st,这样只输入前面两个字母也可以实现命令功能,这样不容易打错,还可以节省操作 git 的时间,腾出更多时间享受生活 🤣🤣。
git 别名
上面说到的功能其实是 git 自带的「别名」功能,叫做 git alias。
快速入门
如果我们想要输入 git br
就是 git branch
也就是给 branch
取一个 br
的别名,可以这样做:
cmd
1. 进入某个 git 仓库中,执行以下命令配置别名
git config --global alias.br branch
命令解析:通过 git config 命令来给 global 的作用区域设置一个命令别名关系的配置 br 映射到 brand。
2. 紧接着我们使用以下命令就可以实现相同效果
git br
这里的 global 指的是 git 配置的作用范围,git 命令有三个作用范围:
- system:系统配置,包含系统上所有用户以及他们仓库的通用配置。执行 git config 时带上
--system
选项读写该文件中的配置变量。- gloabl:全局用户配置,针对当前用户的所有仓库生效的配置变量。
--global
选项让 Git 读写此文件中的配置变量。- local:针对该仓库配置。 你可以传递
--local
选项让 Git 强制读写此文件,缺省的默认情况下用的就是它。
每一个级别会覆盖上一级别的配置,也就是 local 会覆盖 global 会覆盖 system。
其实这些不用了解的那么清楚,一般我们开发一台电脑就只有我们一个用户,且电脑上的所有项目都是我们自己的,用同一个用户访问,那么直接无脑都用 --global 就可以啦。先用起来再说,后续有需要再细致了解。
如果是带参数的命令如 git checkout
、git commit
也可以
cmd
1. 配置别名
git config --global alias.ch checkout
git config --global alias.co commit
2. 使用命令
git ch brand-1
git co "fix code"
查看已配置别名
查看我们有哪些命令做了什么别名(很多时候会忘记别名,刚开始用的不熟)
cmd
执行命令:
git config --global --get-regexp ^alias\.
执行结果:
jrk@Mac learn-dubbo % git config --global --get-regexp ^alias\.
alias.st status
alias.lo log
alias.br branch
对这个命令也可以做个别名:
cmd
配置「查看已配置别名命令」的别名
git config --global alias.alias 'config --global --get-regexp ^alias\.'
这样只需要输入即可
jrk@Mac learn-dubbo % git alias
alias.st status
alias.lo log
alias.br branch
批量配置别名(配置文件配置)
如果你觉得用命令的方式一个一个的配置太麻烦了,想要批量配置,可以通过修改对应git config 作用领的配置文件内容来实现。这里默认是 --global 的全局用户配置(一般开发应该都是这个)。
第1步:找到配置文件位置
cmd
执行命令:
git config --list --show-origin
命令解释:--list 列出所有配置项(所有作用领的配置),--show-origin 列出配置项所在的配置文件。
执行结果:
jrk@Mac learn-dubbo % git config --list --show-origin
file:/opt/homebrew/etc/gitconfig credential.helper=osxkeychain
file:/Users/jrk/.gitconfig user.name=jiangrongkang
file:/Users/jrk/.gitconfig [email protected]
file:/Users/jrk/.gitconfig core.editor=vim
file:/Users/jrk/.gitconfig alias.st=status
file:/Users/jrk/.gitconfig alias.br=branch
file:.git/config core.repositoryformatversion=0
file:.git/config core.filemode=true
我们找到 alias.br 这种我们刚刚使用命令配置的别名配置项所在的配置文件:/Users/jrk/.gitconfig
第2步:编辑配置文件批量配置
苹果的 Mac 电脑的可以使用 open -e /Users/jrk/.gitconfig
命令打开这个文件,其余操作系统可以使用记事本或 vim 来打开。 打开命令后可以看到 git 是使用[xxx]
这样的标识来划分不同配置,每个配置项目默认缩进一个 tab 键或四个空格。
cmd
[user]
name = jiangrongkang
email = [email protected]
[core]
editor = vim
eol = lf
[alias]
st = status
br = branch
我们只需要在[alias]
下编辑自己的别名关系,然后保存文件的修改就能生效,可以直接使用。
cmd
[alias]
st = status
br = branch
co = commit
我的别名清单
在这里贴出我自己的别名清单,供大家参考,这些别名真的提升了很多我操作 git 的效率,节约很多敲打命令行的时间,省下更多时间享受生活🤣🤣。
js
[alias]
alias.st status
alias.ad add
alias.co commit -m
alias.ch checkout
alias.br branch
alias.master checkout master
alias.dic diff --cached
alias.di diff
alias.fixcode !git commit -m 'fix code'
alias.alias config --global --get-regexp ^alias\.
如果还有什么不明白不懂的,欢迎使用 AI 工具(deepseek、gpt、豆包)等拓展解释学习🤣🤣,或者你还有什么经常用到的命令(或多个命令组合)也可以使用 AI 给你配置一个别名替代。
希望这边文章可以给到大家一个方向和启发。