美文网首页
可配置参数的Git别名

可配置参数的Git别名

作者: HelloMin | 来源:发表于2018-09-11 17:14 被阅读35次

    本文主要介绍了如何使用git别名和shell函数,对git命令进行简化,减少不必要的重复工作。

    0. gitconfig文件中的git别名

    在gitconfig文件中,我们可以配置git的别名,即alias。配置了别名之后,我们在命令行只需要执行我们自定义的别名,就可以运行我们预先设定好的git命令。这个别名的影响范围,取决于你修改的config文件位置

    1. 基本git命令的简写

    对于git xx这样的简单命令,比如常用的git status,如果不想每次都打完整单词,可以在config文件中如此配置:

    [alias]

    st = status

    也可以使用命令行直接配置:

    $ git config --global alias.st status

    之后,只要运行git st命令,效果就等于执行了git status

    2. 基本命令添加固定参数

    命令也可以带上一些配置参数,比如,为了简化清理本地代码的步骤,可以配置:

    git config --global alias.rh 'reset --hard HEAD'

    之后执行git rh,就可以完成reset操作了。

    3. 多条命令/可配置参数

    由于git别名本身不支持配置参数和多条命令,此处使用shell函数来完成这个功能。

    在别名的配置中,如果配置的命令以!开头,那么之后的命令都会被使用shell执行,因此,所有shell中可以执行的命令,都可以配置了!

    比如,我常用的同步本地仓库和远端仓库(名为MP)一致的命令,一般写为:

    $ git fetch MP & git rebase MP/master

    我们可以在别名中使用函数完成:

    [alias]

    fr = "!f() { git fetch $1 & git rebase $1/master; }; f"

    $1代表传入的第一个参数,$2代表第二个,之后以此类推。

    之后,我们执行

    git fr MP

    就等同于执行之前的命令了。

    更多内容可以参考:

    One weird trick for powerful Git aliases

    Git alias with parameters

    相关文章

      网友评论

          本文标题:可配置参数的Git别名

          本文链接:https://www.haomeiwen.com/subject/vnyugftx.html