不再苦恼 git 命令打错单词啦-git 别名

我们日常在使用 git 命令时总会有这些遭遇,输入命令如果稍微打快点,不专心一点就容易

  • git status 时老是打错成什么 git statsugit statsgit satuas
  • git checkout xxx 时老是打错成什么 git cheoutgit checkoutgit 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 checkoutgit 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 给你配置一个别名替代。

希望这边文章可以给到大家一个方向和启发。

相关推荐
王中阳Go16 分钟前
从超市收银到航空调度:贪心算法如何破解生活中的最优决策谜题?
java·后端·算法
shepherd11116 分钟前
谈谈TransmittableThreadLocal实现原理和在日志收集记录系统上下文实战应用
java·后端·开源
关山月43 分钟前
使用 Ollama 和 Next.js 构建 AI 助手
后端
倚栏听风雨1 小时前
SwingWorker详解
后端
深栈解码1 小时前
OpenIM 源码深度解析系列(二):双Token认证机制与接入流程
后端
考虑考虑1 小时前
feign异常处理
spring boot·后端·spring
mCell1 小时前
你可能在用错密码:服务端密码安全的真相与陷阱
后端·安全·go
掘金狂热勇士1 小时前
Faster LIO建图过程
后端
树獭叔叔1 小时前
从零开始Node之旅——装饰器
后端·node.js
摆烂工程师2 小时前
Google One AI Pro 的教育学生优惠即将在六月底结束了!教你如何认证Gemini学生优惠!
前端·人工智能·后端