我要认真学Git了 - Config

有一天,当我像往常同样打开SourceTree提交代码,而后推送的时候,我忽然意识到我只是根据肌肉记忆完成这个过程,我压根不知道这其中到底发生了什么。这是个很严重的问题,做为一个技术人员,竟然只知足于使用工具,而对工具的原理毫无探索,因而我进行了很深入的反思。git

我以为一个好知的人不仅是要知其然,更要知其因此然,因此我会认真的学习Git,并探索Git的背后原理。vim

注: 如下操做都是在OS X系统下进行的,我强烈建议动手实践,去折腾,去探索bash

配置信息

我相信这是全部人的第一步,配置本身的名称和邮箱:编辑器

$ git config --global user.name "iroyzhang"	
$ git config --global user.email iroyzhang@icloud.com
名称有双引号,而邮箱没有,我这是根据官方文档来的,实际上有或者没有都是能够的

扩展命令:
git config --global --list  // 查看当前用户Git配置变量

注:
1.每台计算机上只须要配置一次,程序升级时会保留配置信息,能够在任什么时候候再次经过运行命令来修改它们
2.每个Git的提交都会使用这些信息,并写入到每一次提交中
复制代码

配置文件

上面配置了名字和邮箱地址,既然只须要配置一次,那说明git config确定把配置信息保存到了某个地方,下面来找到它:工具

$ cd ~	// 进入当前用户目录(通常打开Terminal就是了)
$ ls -a	// 文件默认是隐藏的,此命令可显示出配置文件,名称为. gitconfig
$ open -t .gitconfig	//	经过文本编辑器打开,固然也能够用Vim打开
打开文件后,全部上面git config配置的信息都会在里面

git config:
git config能够把配置的信息保存到配置文件里,也可使用git config查看配置文件的内容,说明它能够读写配置文件

扩展命令:
git config --gloabl user.name	// 查看当前用户配置的用户名
git config --gloabl --unset user.name // 删除当前用户用户名
复制代码

--global的做用

一台电脑会有多个用户,若是这几个用户是不一样的人,那他们的名字和邮箱确定是不一样的,因此每一个用户都须要定制本身的Git配置环境:学习

先按如下输入:
$ git config
这时会显示全部git config的选项,其中有一组分类叫作Config file location,其中包含--gloabl、--system、--local

--global	// 使用全局的配置文件
--system  // 使用系统的配置文件
--local	// 使用仓库的配置文件
Config file location的意思就是配置文件的路径,也就说上面的这些选项可让git config读写不一样路径的配置文件

git config --list
上面这个查看命令由于没有指定读取哪一个配置文件,因此会读取多个配置文件,变量信息可能会重复

扩展命令:
git help config // 查看config帮助,进入后可键入q以退出
git config --help // 同上同样效果
git config --local --list	 // 查看本地仓库的Git配置
git config  --system --list // 查看系统的通用Git配置

注:
1.--system的配置文件在根目录下,即/etc,文件名称为gitconfig
2.--local的配置文件在当前工做目录的.git目录下,文件名称为config
3.local的配置文件优先级大于global的配置文件,global的配置文件优先级大于system的配置文件
4.在仓库下,git config缺省选项时,默认使用--local,仓库的配置信息能够被任意修改
复制代码

修改文本编辑器

当把改动添加到暂存区后,执行如下命令:
git commit
这时就会显示文本编辑器

指定文本编辑器为vim(mac电脑默认的是vim,不指定也行)
$ git config --global core.editor vim

注:
若是没有指定文本编辑器,Git会使用系统默认文本编辑器
复制代码
相关文章
相关标签/搜索