git config可对git库进行相关config设置

常用config命令为

git config –type(–global –system 以及没有) key1.key2 value 用于设置key1.key2 的value

git config –type(–global –system 以及没有) key1.key2 用户获取key1.key2的value



e.g

$ git config user.name

may

用户获取当前repository的user的name,git返回may,说明当前repository的user.name为may

$ git config user.name test

用于设置当前repository的user的name为test



其实,某些时候,git并不能正确获取repository的user.name等相关设置信息。

git config通常情况下存在于三个地方,第一个是最常接触的repository的.git/config,就是git 开发库,第二个是$HOME,家目录 中的.gitconfig,第三个是/etc/gitconfig文件。

git config 可增加参数获取不同位置的config信息,

–system 为/etc/gitconfig

–global 为~/.gitconfig

什么都不写为 repository/.git/config



首先分别在3个位置设置一下user.name

$ cd ~/repository/

$ git config user.name repository

$ git config –global user.name global

$ sudo git config –system user.name system



分别获取查看user.name

$ cd ~/repository/

$ git config user.name

repository

$ cd /

$ git config user.name

global

$ git config –global user.name

global

$ sudo git config –system user.name

system



在一个非repository的地方获取repository的config信息,由于当前并非git 的repository,所以会尝试获取–global中的信息,如果global中没有信息,会再尝试获取–system中的信息,如果system中也没有config信息,则返回空。



执行下列命令,再尝试一下

$ rm -rf ~/.gitconfig

$ cd /

$ git config user.name

system

由于/下并非repository,尝试获取–global内信息,由于global已删除,再尝试获取system中信息,返回user.name为system



$ sudo rm -rf /etc/gitconfig

$ cd /

$ git config user.name



返回空

$ cd ~/repository

$ git config user.name

repository

返回repository中的user.name为repository



同样,进行config信息设定的时候也可增加–global –system等相关参数进行设定

$ cd ~/repository

$ git config user.name new_repostiory

$ git config –global user.name new_global

$ sudo git config –system user.name new_system



再次不再重述



常用设置:

git config –global user.name

git config –global user.email

git config –global color.ui

git config –global core.editor

git config –global receive.denyCurrentBranch ignore 设置可再当前branch push

git config –global receive.denyNonFastForwards true 设定不可强行步入fastforwards

git config –global alias.a add 设定git a 功能与git add 相同。当然也可通过设定.bashrc等设定alias来达到这个类似效果: alias add=’git add’



其他git config 配置后续补全





还可通过git config -e –global直接进入编辑器编辑模式手动进行编辑,编辑器会默认获取git config –global core.editor。如果不存在会用nano(ubuntu 11.10下亲测),可预先设定git config –global core.editor vim ,git config –global core.editor emacs等使用顺手编辑器编辑gitconfig文件。

例如git config –global user.name在gitconfig文件中设置如下

[user]

name = global

修改global为labolg后保存,重新获取user.name

$ git config –global user.name

labolg





删除config信息可以使用如下命令

$ git config –unset –global user.name

$ git config –unset user.name

$ sudo git config –unset –system user.name