当我们安装好git软件包,或者着手在一个新的机子上使用git的时候,我们首先需要进行一些基本的配置工作,这个就要用到git config。
git config是用于进行一些配置设置,有三种不同的方式来指定这些配置适用的范围:
- git config 针对一个git仓库
- git config --global 针对一个用户
- sudo git config --system 针对一个系统,因为是针对整个系统的,所以必须使用sudo
- 第一种默认当前目录是一个git仓库,假设我们有一个仓库叫git_test,它所修改配置保存在git_test/.git/config文件,如果当前目录不是一个有效的git仓库,在执行一些命令时会报错,例如:
$git config -e
fatal: not in a git directory
我们来看一个简单的例子,一般我们clone一个git仓库,默认都是一个工作目录,那么对应的配置变量 bare = false。来看一个很简单的仓库的config文件,
cat git_test/.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
如果我们想修改bare为false,最简单的办法就是直接用vim打开git_test/.git/config文件进行修改,另一种办法就是使用git config来修改
$git config core.bare true
$cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = true
命令的格式就是 git config. 。需要注意的是我们没有加–system和–global,那么这个修改只针对于当前git仓库,其它目录的仓库不受影响。
2) 第2种是适用于当前用户,也就是说只要是这个用户操作任何git仓库,那么这个配置都会生效,这种配置保存在~/.gitconfig当中,那什么样的配置需要放到用户的配置文件里呢,git里一个最为重要的信息就是提交者的个人信息,包括提交者的名字,还有邮箱。当我们在用git提交代码前,这个是必须要设置的。显而易见,这个配置需要放在用户一级的配置文件里。
$git config --global user.name "I Love You"
$git config --global user.email "i.love.you@gmail.com"
$cat ~/.gitconfig
[user]
name = I Love You
email = i.love.you@gmail.com
- 第3种是适用于一个系统中所有的用户,也就是说这里的配置对所有用户都生效,那什么样的配置需要放在这里呢,比如我们在执行git commit会弹出一个默认的编辑器,一般是vim,那作为系统的管理员,可以将vim设置为所有用户默认使用的编辑器,我们来看设置的过程
$sudo git config --system core.editor vim
$cat /etc/gitconfig
[core]
editor = vim
我们可以看到它修改的是全局的配置文件/etc/gitconfig。

本文介绍了gitconfig文件在配置Git时的作用,包括针对单个仓库、用户和系统的不同配置层级。通过实例展示了如何修改配置,如设置用户信息和修改仓库属性。强调了用户级配置的重要性,如设置提交者信息,并演示了如何系统级设定默认编辑器。
1791

被折叠的 条评论
为什么被折叠?



