[git config]配置
命令行操作范围
使用命令git config
进行配置,各级别设置需要加上可选参数
# 系统级别
git config --system ...
# 全局级别
git config --global ...
# 仓库级别
git config --local ...
打印配置信息
- 获取配置信息
$ git config --list
user.name=xxx
user.email=xxx@163.com
core.editor=code
http.postbuffer=1048576000
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@github.com:ZJDoc/GitGuide.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
- 获取全局配置信息
$ git config --global --list
user.name=xxx
user.email=xxx@163.com
core.editor=code
http.postbuffer=1048576000
- 获取本地配置信息
$ git config --local --list
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@github.com:ZJDoc/GitGuide.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
注意:需要进入一个Git
仓库才能获取本地信息
常用设置
- 设置用户信息
- 设置文本编辑器
- 移除变量
设置用户信息
每次提交时都需加上用户名和邮箱地址,可以设置成全局变量
git config --global user.name user-name
git config --global user.email email-address
设置节点为user
,设置属性为name
和email
也可以在仓库中设置本地用户名和用户邮箱:
$ git config --local user.name xxx
$ git config --local user.email xxx
设置文本编辑器
git
使用系统默认的编辑器,可以设置指定编辑器
# 未设置
git config --global core.editor vim
# 已设置,先删除再添加
git config --global --unset core.editor
git config --global core.editor vim
移除变量
# 移除单个变量
git config --global --unset 属性名
# 移除所有变量
git config --global --unset-all 属性名
配置文件地址
git
有3
个级别的配置文件:
local
:本地文件存放在仓库中(.git/config
),只针对当前仓库global
:全局文件存放为~/.gitconfig
或~/.config/git/config
,作用于当前用户的所有仓库system
:系统文件存放为/etc/gitconfig
,作用于系统的每个用户
其优先级为local > global > system
windows
环境下的全局配置文件存放为C:\\User\\$USER\\.gitconfig
编写格式
所有配置文件的编写格式都一样,可参考仓库级别的config
文件,按照section和key进行配置
# 仓库级别
$ cat config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@github.com:zjZSTU/linux-guide.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
# 全局级别
$ cat .gitconfig
[user]
name = zxxx
email = 50xxxxx.com