Skip to content

[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仓库才能获取本地信息

常用设置

  1. 设置用户信息
  2. 设置文本编辑器
  3. 移除变量

设置用户信息

每次提交时都需加上用户名和邮箱地址,可以设置成全局变量

git config --global user.name user-name
git config --global user.email email-address

设置节点为user,设置属性为nameemail

也可以在仓库中设置本地用户名和用户邮箱:

$ 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 属性名

配置文件地址

git3个级别的配置文件:

  1. local:本地文件存放在仓库中(.git/config),只针对当前仓库
  2. global:全局文件存放为~/.gitconfig~/.config/git/config,作用于当前用户的所有仓库
  3. 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