当前位置 : 主页 > 网络编程 > PHP >

#yyds干货盘点#Git 技巧之高级配置用户信息

来源:互联网 收集:自由互联 发布时间:2023-09-03
众所周知,日常配置 git 用户信息的方式通常是: git config --global user.name '用户名'git config --global user.email '邮箱' 全局方式配置,写入到 ~/.gitconfig 文件中,这种方式显然只能设置最常用

众所周知,日常配置git用户信息的方式通常是:

git config --global user.name '用户名'
git config --global user.email '邮箱'

全局方式配置,写入到 ~/.gitconfig文件中,这种方式显然只能设置最常用通用的 用户信息,然后在需要部分仓库(如公司项目)需要特殊配置时,只能再通过下面的方式配置。

git config --local user.name '用户名'
git config --local user.email '邮箱'

本地仓库配置,写入到当前仓库.git/config文件中,这种方式提高了灵活性,但项目多了也需要一个一个配,而且如果工程目录变更,或者新增了其他需要特殊配置的项目,也都需要每次设置,还是比较麻烦。


includeIf属性

git2.13.0版本中,配置新增了includeIf属性,此属性就是为了解决,上述只能 全局和单个 的缺陷。

使用方式,编辑~/.gitconfig,新增如下:

[includeIf "gitdir:~/webserver/php/dd/"]
    path = .gitconfig-dd
[includeIf "gitdir:~/webserver/code/"]
    path = .gitconfig-self

说明:includeIf可以出现多个,每个includeIf的作用便是:给指定目录使用指定的配置信息。
注意:这里的 目录 无需具体某个仓库,即在该目录之内的所有仓库,默认都会继承该配置。

关键参数:

  • "gitdir:~/webserver/php/dd/"中的~/webserver/php/dd/为目录位置
  • path = .gitconfig-dd中的 .gitconfig-dd 为对应的配置文件

查看一下.gitconfig-dd内容:

[user]
    email = silence@dd.com
    name = DilenceDD

其语法跟git config语法一样。

测试:这个时候直接在~/webserver/php/dd/目录执行git config user.name是无效的,需要到该目录下任何一个git仓库目录中执行。

注意,如果该仓库之前已配置user信息,可以在仓库根目录编辑.git/config,然后把[user]相关信息删除,再执行git config user.name即可。

网友评论