git config是git提供用于编辑配置文件的便捷工具。
gitconfig文件
git config操作的是gitconfig文件,有三个地方存储了gitconfig文件:
- system
系统全局配置,影响到系统上所有用户,由/etc/gitconfig控制。
- global
用户全局配置,仅影响到当前登录用户,由~/.gitconfig控制。
- 当前仓库git
仅影响到当前git项目,由git项目下的.git/config控制。
使用git config --[域名称] [option]
即可操作指定域下的gitconfig文件,没有设置域名称则表示设置当前git项目。
三个域优先级由低到高,更高级别域下的同名配置会覆盖低级域下的配置。
常用命令
编辑gitconfig文件
git config --system -e
git config --global -e
git config -e
设置name和email
#配置全局
git config --global user.name "kanchuan"
git config --global user.email "git@kanchuan.com"
#设置单个git项目配置
git config user.name "kanchuan"
git config user.email "git@kanchuan.com"
配置的user.name和user.email 将会记录在git log中,一旦commit则无法修改。
如果需要兼顾到公司和个人的git项目,推荐尽量不使用system或global域的配置,而是针对git项目单独配置。
在使用 github 时,配置个人邮箱后执行 git push
可能会出现:
remote: error: GH007: Your push would publish a private email address.
在 https://github.com/settings/emails 勾选了Block command line pushes that expose my email
后,直接使用私人邮箱推送会被拒绝,此时可以使用 github 后台分配的形如:
{ID}+{username}@users.noreply.github.com
的邮箱。
查看指定配置的值
git config user.name
git config user.email
列举所有域下的配置
git config --list
查看帮助
git help config
留言板