GIT 自定义
我们在安装完成✅git之后是可以通过修改、增加配置文件来定制化git环境的,最典型的定制就如我们在初次使用时候的 user.name 和 user.email
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.xxx"
可以看到我们使用 git config 命令来配置git,但其实这个命令也是在修改git后面的配置文件; 它首先会查找系统级的 /etc/gitconfig
文件,该文件含有系统里每位用户及他们所拥有的仓库的配置值。 如果你传递 --system 选项给 git config,它就会读写该文件;
你可以试着在终端运行以下命令
git config --system
你将会看到这样的一个输出,😯哦看来我们刚刚是把用户名和邮箱配置到来全局环境哈
接下来 Git 会查找每个用户的 ~/.gitconfig
文件(或者 ~/.config/git/config
文件)。 你可以传递 --global 选项让 Git 读写该文件;
最后 Git 会查找你正在操作的仓库所对应的 Git 目录下的配置文件(.git/config
)。 这个文件中的值只对该仓库有效,它对应于向 git config 传递 --local 选项;
增加自定义命令常见的方式
通过 git 提供的alias(别名)进行注册
我们通常见到的别名配置方式如,全局配置
git config --global alias.ck checkout # git ck
你也可以自行修改上面👆提到的配置文件,可以通过以下命令查询到已经有的命令以及对应配置文件的地址,可以选择编辑他来完成git配置
git config --list --show-origin
这是我现在有的一些配置
如果你是mac或者linux,你可以运行 open 去打开他, window用户可以使用 start 命令
在这个文件中可以看到一个 [alias] 的属性,你可以像它一样新增一个自己的别名和命令;格式为
命令 = 执行什么操作
比如我添加了一句lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
试着用一下
git lg
通过 Git 遵循命名约定 git- 自动解析PATH中可执行文件中的子命令, 就可以同 git 执行,这是很多git扩展的真实实现方式
在自己项目下使用
你可以像第一种那样操作,只需要把对应的 --global、--system 去除即可,这将会把别名添加到项目种
.git/config下
, 但是一帮情况下.git文件是隐藏的,我们还可以使用另一种指定自定义文件+脚本的方式来实现我们在项目根目录下添加一个
.gitconfig
的文件(文件其实不太重要,不过建议使用.git开头) 像是编写git其他配置文件一样编写别名命令,如我增加一个git say
的命令我可以这样做 可以看出来后面是 git 命令或者是 shell 脚本