个性化 git 命令

34 阅读2分钟

1. 前言


在使用 git 的过程中,有些命令使用频率很高,并且命令可能还很长,敲起来不仅效率慢,还容易写错

为了便捷输入,git 提供了给命令设置别名的功能,我们可以定义命令的别名,通过简单的别名快速使用复杂且长的命令

本文示例中用的都是全局级别--global 配置,仓库级别--local、系统级别 --system 亦如此

2. 设置别名


语法格式

  1. git config [命令级别] alias.别名 '命令'

下面是我常用的别名设置示例:

  1. git config --global alias.s status
  2. git config --global alias.a 'add .'
  3. git config --global alias.cm 'commit -m'

使用别名

  1. git s
  2. git a
  3. git cm 'first commit'

查看定义的别名

  1. git config --global -l | grep alias

3. 取消别名


语法格式

  1. git config --global --unset alias.别名

使用示例

  1. git config --global --unset alias.s

当然,也可以给 取消别名命令 设置别名,比如: 别名定义为 u

  1. git config --global alias.u 'config --global --unset'

然后就可以通过别名 u 来取消别名设置了

  1. git u alias.s

补充: 也可以打开别名配置文件,直接在配置文件中增加、删除或修改别名 (-e 参数会以 vi 命令模式打开配置文件)

  1. git config --global -e

4. 系统配置定义别名


一. Mac 系统

mac 用户如果已经安装了 zsh,可在 ~/.zshrc 文件中添加以下内容定义别名

  1. alias gi="git init"
  2. alias gs="git status"
  3. alias ga="git add -A"
  4. alias gc="git commit -m"
  5. alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"


5. 我的 git 命令别名定义


在Mac 系统中查看定义的别名: git config --get-regexp alias

因为我在日常开发中会经常使用 git,所以我选择使用系统配置定义别名。下面是我经常用的别名:

1.  alias.ad add
2.  alias.cm commit -m
3.  alias.st status
4.  alias.geturl config --get remote.origin.url
5.  alias.cf config
6.  alias.df diff
7.  alias.gl log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
8.  alias.rs reset --hard
9.  alias.rev remote -v