官方使用手册(包含所有配置和命令): 链接
gitconfig官方手册: 链接
查看配置
命令:
#所有配置,按照系统、全局、当前项目的顺序依次显示
git config --list
#当前项目配置 高优先级
git config --local --list
#全局用户配置 中优先级
git config --global --list
#系统配置 低优先级
git config --system --list
三个级别
共三个级别:系统、全局和当前项目,分别对应三个文件
当同一参数的配置不一致时,实际生效的配置优先级:当前项目 > 全局 > 系统
- 系统
- 位置:/etc/gitconfig,windows在git安装目录内的etc/gitconfig1
- 生效范围:对所有项目和所有用户均有效
- 修改:git config追加–system
- 全局
- 位置:~/.gitconfig2,windows在C:\Users\用户名.gitconfig
- 生效范围:对此用户的所有项目有效
- 修改:git config追加–global
- 当前项目
- 位置:项目所在目录的==.git/config==
- 生效范围:仅对此项目有效
- 修改:git config追加–local
详细配置
仅列举部分常用配置
[user] #用户配置
name = XXX #用户名
email = XXX@XX.XX #邮箱
[am] #git am相关
keepcr = true/false #控制是否keep cr
[core]
autocrlf = false #默认true,自动处理crlf
whitespace = XXX #存在多种配置,处理whitespace
[credential "http://exqmple.com"] #提供用户名和密码,针对指定的域名
username = XXX
helper = store #外部可信的帮助程序的名称,以及任何关联的选项。Store指存储凭据(如果适用于助手)
[format] #格式化相关
converLetter = auto/true/false #默认fasle,控制调用fomat-patch时是否converLetter
[sendemail]
confirm = always/never/cc/compose/auto #是否在发送前进行确认
smtpserver = XXX@XX.XX #服务器
smtpUser = XXX #用户名
smtpPass = ****** #密码
suppresscc = self #指定其他类别的收件人以禁止自动抄送,self避免包括发件人
to = XXX #Email To
transferEncoding = *bit #发送时使用的编码
[pull]
rebase = true #使用git pull会使用rebase, 如果为true,则在获取的分支的顶部重新建立分支的基础
[url "https://a.com/"] #重定向,将和“https://b.com/”匹配的替换为“http://a.com/”
insteadOf = https://b.com/
配置命令
格式:git config + 详细命令 + key.value NewValue,可追加级别
- 显示
git config user.name #显示对应的配置
git config --get user.name #获取优先级最高的的对应配置
git config --get-all user.name #此配置的所有值
- 添加
git config --add user.name "newName" #添加对应的配置,不会覆盖现有的
- 修改
git config user.name "newName" #修改对应的配置,若不存在则创建,若已存在一个以上需要额外指定
git config --replace-all user.name "changeName" #修改所有对应的配置
- 删除
git config --unset user.name #删除对应的配置
git config --unset user.name "newName" #删除对应值的配置