• 『现学现忘』Git基础 — 26、给Git命令设置别名


    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

    bash
    # 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文件中进行配置。
      配置别名的内容如下:
      bash
      [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参数)

    bash
    # 下面进行简单说明
    # 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文件。
      现在查看该文件如下:
      bash
      [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)删除所有全局别名命令:

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

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

    bash
    $ 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'

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

    bash
    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命令,显示效果如下:

    image

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

    总结:

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

    补充:

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


    __EOF__

  • 本文作者: 繁华似锦的博客
  • 本文链接: https://www.cnblogs.com/liuyuelinfighting/p/16261256.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    数组去重的六种方法
    基于Yolov8的工业小目标缺陷检测(9):Gold-YOLO,遥遥领先,超越所有YOLO | 华为诺亚NeurIPS23
    2023.9.26 IO 文件操作详解
    基于springboot+vue+Mysql的漫画网站
    谷粒商城 高级篇 (十五) --------- 登录与注册
    海外工具站 2022 复盘:50+ 条所见所思所感
    HDL-Bits 刷题记录 04
    洞见商业新机,云原生数据库GaussDB让企业决策更科学
    Virtio-user使用简介
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
  • 原文地址:https://www.cnblogs.com/liuyuelinfighting/p/16261256.html