1、什么是Git命令的别名

Git中命令很多,有些命令比较长,有些命令也不好记,也容易写错。

例如:你有没有经常敲错命令?比如git status?如果敲git st就表示git status那就简单多了。

Git 并不会在你输入部分命令时,自动推断出你想要执行的命令。 如果不想每次都输入完整的Git命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名。

也就是给status命令配置别名,告诉Git,以后st就表示status

总结:什么是别名?

别名用于创建映射到较长命令的较短命令。就和Linux命令设置别名一样。

2、别名的全局配置

(1)配置全局别名

我们就以上面说的git status命令为例进行演示。

我们只需要敲一行命令,告诉Git,以后st就表示status

# 1.查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'. The most similar commands are
status
reset
stage
stash
svn # 可以看到执行git st命令的时候,提示“st”不是git命令。 # 2.给他git status 设置别名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.st status # 3.再次查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean

我们可以看到git status命令设置完别名后,别名和原命令都可以使用。

说明:

  • --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。
  • 我们之前说配置用户签名的时候,--global参数是在系统用户目录下的.gitconfig文件中进行配置。

    配置别名的内容如下:
    [user]
    name = sun_wk
    email = sun_wk@126.com
    [alias]
    st = status # 这里就是配置的别名
  • --global参数配置的是全局参数,也就是针对该系统用户,对该系统中所有的Git仓库的配置。

    换句话说,就是加上--global参数,该别名对本机中所有的Git仓库都管用。

(2)删除全局别名

有两种方式:

  1. 打开系统用户目录下的.gitconfig文件,把该别名手动删除。
  2. 使用命令行删除,执行命令:git config --global --unset alias.st

提示:删除别名之后,别名失效。

3、别名的局部配置

(1)配置局部别名

还是以git status命令为例进行演示。

基本上和全局别名的配置一样,就是把--global参数换成--local,或者就是去掉不写。(不写默认就是执行--local参数)

# 下面进行简单说明
# 1.查看工作目录文件状态,使用git st不可以
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'. The most similar commands are
status
reset
stage
stash
svn # 2.配置别名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config alias.st status # 3.再次使用git st,查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean

说明:

  • 没有加--global参数,默认在本地版本库中的配置文件进行配置,所以只针对该仓库起作用。
  • 我们之前说配置用户签名的时候,本地版本库的配置文件为.git/config文件。

    现在查看该文件如下:
    [core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    [alias]
    st = status # 这里就是配置的局部别名

(2)删除局部别名

有两种方式:

  1. 打开当前Git仓库目录下的.git/config文件,把该别名手动删除。
  2. 使用命令行删除,执行命令:git config --unset alias.st

提示:删除别名之后,别名失效。

4、删除所有别名

(1)删除所有全局别名命令:

$ git config --global --remove-section alias

(2)删除所有局部别名命令:

$ git config --remove-section alias

5、小练习

我们上一篇文章介绍了,如何修改Git历史版本信息内容和颜色的显示。

如:git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'

我们就把上命令配置别名,执行命令如下:

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'"

执行git lg命令,显示效果如下:

当然你也可以把别名定义为log

总结:

随着你继续不断地使用 Git,可能也会经常使用别名命令,所以创建别名这种偷懒的办法我们是赞成的。

补充:

git config --global color.ui true:让Git显示顾色,会让命令输出看起来更醒目。(效果没有上面手动配置的颜色显示丰富)

『现学现忘』Git基础 — 26、给Git命令设置别名的更多相关文章

  1. 『现学现忘』Docker基础 — 26、Docker镜像分层的理解

    目录 1.分层的镜像 2.加深理解 3.特别说明 1.分层的镜像 我们可以去下载一个镜像,注意观察下载的日志输出,可以看到Docker的镜像是一层一层的在下载. 思考:为什么Docker镜像要采用这种 ...

  2. 『现学现忘』Git基础 — 13、Git的基础操作

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...

  3. 『现学现忘』Git基础 — 18、Git对象的总结

    目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git ...

  4. 『现学现忘』Git基础 — 22、Git中文件重命名

    目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追 ...

  5. 『现学现忘』Git基础 — 2、Git和SVN的区别

    1.Git和SVN的区别 (1)SVN(集中式版本管理系统) 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者 ...

  6. 『现学现忘』Git基础 — 3、Git介绍

    目录 1.Git的历史 2.Git的特点 3.Git在项目协作开发中所解决的问题 1.Git的历史 Git是目前世界上最先进的分布式版本控制系统,开源.免费. Git 是 Linus (林纳斯)为了帮 ...

  7. 『现学现忘』Git基础 — 4、Git下载与安装

    目录 1.Git下载 2.Git在Windows下的详细安装 3.验证Git是否安装成功 1.Git下载 进入官方地址下载Git客户端:https://git-scm.com/download/win ...

  8. 『现学现忘』Git基础 — 7、设置Git Bash终端默认路径

    目录 1.Git Bash默认路径 2.如何查看Git Bash终端默认路径 3.如何修改Git Bash终端的默认路径 4.拓展:指定目录进入Git Bash终端 5.注意事项 如果您不熟悉Git命 ...

  9. 『现学现忘』Git基础 — 8、Git创建本地版本库

    目录 1.Git版本库介绍 2.创建本地版本库 场景一:创建一个空的本地版本库. 场景二:项目中已存在文件时,创建该项目的本地版本库. 场景三:在GitHub网站上创建仓库,克隆到本地. 1.Git版 ...

  10. 『现学现忘』Git基础 — 11、配置Git用户签名的方式

    目录 1.配置Git签名 (1)语法 (2)配置系统用户签名 (3)配置全局用户签名 (4)配置本地用户签名 2.查看三个配置文件的用户签名 (1)语法 (2)查看项目/仓库级别的配置文件信息(loc ...

随机推荐

  1. Linux运维最常用150个命令

    线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list ...

  2. openldap 资料

    LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从"什么是LDAP"."LDAP的主要产品 ...

  3. 一个注解@Recover搞定丑陋的循环重试代码

    使用背景 在实际项目中其中一部分逻辑可能会因为调用了外部服务或者等待锁等情况下出现不可预料的异常,在这个时候我们可能需要对调用这部分逻辑进行重试,代码里面主要就是使用for循环写一大坨重试的逻辑,各种 ...

  4. element el-tree、el-table组件加载数据前闪现 暂无数据 清除

    相信很多人在使用element  el-tree.el-table组件加载数据前会显示一个" 暂无数据 ",体验很不友好,有没有办法处理不显示呢?答案是:有的.废话不多说直接上代码 ...

  5. hdfs对文件的增删改查

    源代码: pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  6. Mxnet速查_CPU和GPU的mnist预测训练_模型导出_模型导入再预测_导出onnx并预测

    需要做点什么 方便广大烟酒生研究生.人工智障炼丹师算法工程师快速使用mxnet,所以特写此文章,默认使用者已有基本的深度学习概念.数据集概念. 系统环境 python 3.7.4 mxnet 1.9. ...

  7. JAVASE While 计算累加实例

    package com.huang.boke.flowPath;public class While { public static void main(String[] args) { int i= ...

  8. Linux小工具的应用,grep,sort,wc,cut

    小工具的使用: 1.管道(|):连接多个命令的工具,进程之间通讯的一种方式 用法:命令1 | 命令2 | 命令3....2.grep工具:行过滤,打印出的结果一行一行的 用法:grep options ...

  9. k8s和Docker

    Docker是一个开源的应用容器引擎k8s是一个开源的容器集群管理系统这里我尽量用比较浅显的方式来说明k8s系统 一.k8s是如何管理的节点的呢:1.k8s 分master和node 2.master ...

  10. Git原理学习记录

    Git原理学习记录 1.git init git-test ​ git init 实际上就是在特定的目录下创建对应的目录和文件 2.object $ echo "V1" > ...