1. git config简介

我们知道config是配置的意思,那么git config命令就是对git进行一些配置。而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家。
你们所知的git配置文件是放在哪里的?git有几个配置文件呢?是的,聪明的你,稍微查查资料就知道咯,git里面一共有3个配置文件,首先是:仓库级配置文
件:该文件位于当前仓库下,路径.git/,文件名为.gitconfig,这个配置中的设置只对当前所在仓库有效仓库级配置文件内容如下:
第二个是全局级配置文件:win7下面路径,在用户目录下,以个人的PC机为例,其路径为:C:\Users\zuoyu.ht,文件名为.gitconfig
全局级配置文件内容如下:
最后是系统级配置文件:本地git的安装目录下,以左御的git安装路径为例:D:\Program Files\Git\etc,文件名为:gitconfig,内容如下:
从三个图的对比中,我们可以发现,有些配置项的名称是一样的,比如“core”,在git中,每一项的配置名称又叫做“section”,
“section”下面的每一行对应着一个key和一个value。需要注意的是:系统级配置文件不同于另外两个配置文件,是因为他少了
一个点,因此用vim打开的时候,是没有高亮显示的。”core”这个section在每个配置文件中都有,那么它git最终会调用哪个配置
文件呢?这就要有一个先后顺序了。
2. 配置文件如何生效的
用一个我们大家都熟悉的例子来比较,就是css。一般来说,在一个页面中引入css文件的方法有三种,见:http://www.cnblogs.com/hutaoer/archive/2010/12/07/1899105.html,
通俗的讲就是行内样式“<div style=“width:200px”>”,内嵌样式“<style type=“text/css”>div{width:200px}</style>”
和外部样式“<link rel=“stylesheet” href=“div.css”>”。这三种样式的权重是行内>内嵌>外部。类似的,对于git来说,配置文件
的权重是仓库>全局>系统。Git会使用这一系列的配置文件来存储你定义的偏好,它首先会查找/etc/gitconfig文件(系统级),该
文件含有对系统上所有用户及他们所拥有的仓库都生效的配置值。接下来Git会查找每个用户的~/.gitconfig文件(全局级)。最后
Git会查找由用户定义的各个库中Git目录下的配置文件.git/config(仓库级),该文件中的值只对当前所属仓库有效。以上阐述的三
层配置从一般到特殊层层推进,如果定义的值有冲突,以后面层中定义的为准,例如:.git/config和/etc/gitconfig的较量中,
.git/config取得了胜利。虽然你也可以直接手动编辑这些配置文件,但是运行git config命令将会来得简单些。下面我们就来看看如
何利用git config命令来编辑配置各个级别的文件。
   3. 用git config命令查看配置文件
命令参数 –list, 简写 -l
格式:git config [–local|–global|–system] -l
查看仓库级的config,即.git/.config,命令:git config –local -l
查看全局级的config,即C:\Users\zuoyu.ht\.gitconfig,命令:git config –global -l
查看系统级的config,即D:\Program Files\Git\etc\gitconfig,命令:git config –system -l
查看当前生效的配置,命令:git config -l,这个时候会显示最终三个配置文件计算后的配置信息,如下图:
   4. 使用git config命令编辑配置文件
编辑的英文单词是什么,没错,edit
命令参数 –edit, 简写 -e
格式:git config [–local|–global|–system] -e
查看仓库级的config,即.git/.config,命令:git config –local -e,与–list参数不同的是,git config -e默认是编辑仓库级的配置文件。
查看全局级的config,即C:\Users\zuoyu.ht\.gitconfig,命令:git config –global -e
查看系统级的config,即D:\Program Files\Git\etc\gitconfig,命令:git config –system -e
执行这个命令的时候,git会用配置文件中设定的编辑器打开配置文件。
  5. 增加一个配置项
参数 –add
格式: git config [–local|–global|–system] –add section.key value(默认是添加在local配置中)
注意add后面的section,key,value一项都不能少,否则添加失败。比如我们执行:git config –add cat.name tom
然后查看local中的配置:
注意增加一项配置而不赋值 git config –add cat.age,或者单单增加一个section,git config –add cat1,不会成功。
6.获取一个配置项
有时候,我们并不需要查看所有配置的值,而是查看某个配置项的值,怎么做呢?
命令参数 –get
格式:git config [–local|–global|–system] –get section.key(默认是获取local配置中内容)
我们先往global配置中写入一个cat.name=Tomcat的配置项,再使用git config –get cat.name看看得到的是什么
结果就是local中的cat.name=Tom,因此git config –get section.key 等价于git config –local –get section.key
如果获取一个section不存在的key值,不会返回任何值
如果获取一个不存在的section的key值,则会报错
7.删除一个配置项
命令参数 –unset
格式:git config [–local|–global|–system] –unset section.key
相信有了前两个命令的使用基础,大家举一反三就知道改怎么用了,来,我们试试删除local配置中的cat.name
-------------------------------------------------------------------------------------------------------

git config配置文件

设置 git status的颜色。

git config --global color.status auto

一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境。你只需要做这些设置一次;即使你升级了,他们也会绑定到你的环境中。你也可以在任何时刻通过运行命令来重新更改这些设置。

Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置:

  1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ 给 git config,它将明确的读和写这个文件。

  2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。

  3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。

  在Windows系统中,Git在$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:\Documents and Settings\$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。

二.你的标识(Your Identity)

2.1 当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:

  $ git config --global user.name "John Doe"

  $ git config --global user.email johndoe@example.com

  重申一遍,你只需要做一次这个设置。如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。

2.2 你的编辑器(Your Editor)

  现在,你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:

  $ git config --global core.editor emacs

2.3 你的比较工具(Your Diff Tool)

  另外一个你可能需要配置的有用的选项是缺省的比较工具它用来解决合并时的冲突。例如,你想使用vimdiff:

  $ git config --global merge.tool vimdiff

  Git可以接受kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, 和 opendiff作为有效的合并工具。你也可以设置一个客户化的工具;查看第7章获得更多关于此的信息。

2.4 检查你的设置(Checking Your Settings)

  如果你想检查你的设置,你可以使用 git config --list 命令来列出Git可以在该处找到的所有的设置:

  $ git config --list

  user.name=Scott Chacon

  user.email=schacon@gmail.com

  color.status=auto

  color.branch=auto

  color.interactive=auto

  color.diff=auto

  ...

  你可能会看到一个关键字出现多次,这是因为Git从不同的文件中(例如:/etc/gitconfig以及~/.gitconfig)读取相同的关键字。 在这种情况下,对每个唯一的关键字,Git使用最后的那个值。

  你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:

  $ git config user.name

  Scott Chacon

2.5 获取帮助(Getting help)

  如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:

  $ git help <verb>

  $ git <verb> --help

  $ man git-<verb>

  例如,你可以运行如下命令获取对config命令的手册页帮助:

  $ git help config

  这些命令非常友好,因为你可以在任何地方存取他们,即使非在线状态。如果手册页和本书仍然不足而你需要个人的帮助,你可以试着使用Freenode IRCServer上的#git或#github 频道(irc.freenode.net)。这些频道会定期由数百个对Git非常熟悉的专业人士所维护,他们会非常乐意帮助你。

2.6 总结(Summary)

  你应该对Git是什么以及Git与你可能使用的其它CVCS之间的不同有了一个基本的了解。你也应当在你的系统中有了一个具有你个人标识的可以工作的Git版本。是时候来学习一些Git的基本知识了。

转载于:https://www.cnblogs.com/kenshinobiy/p/4545609.html

git config命令使用相关推荐

  1. git config命令入门

    git config命令入门 git config命令用来配置git 1.仓库级别 local [优先级最高]2.用户级别 global[优先级次之]3.系统级别 system[优先级最低] 查看仓库 ...

  2. git学习(二):git config命令

    不同的git config操作不同的参数文件 1 git config --global // 配置用户目录下的.gitconfig那文件 2 git config --system // 配置系统级 ...

  3. git config 命令详解

    git config 命令主要与git的一些配置有关联的. git config --list 这个命令可以列出关于当前git的所有配置信息,命令输出如下所示: http.sslbackend=ope ...

  4. git config命令详解

    Git有一个工具被称为git config,它允许你获得和设置配置变量:这些变量可以控制Git的外观和操作的各个方面. 一. 配置文件的存储位置 这些变量可以被存储在三个不同的位置: 1./etc/g ...

  5. git config命令和Git配置文件

    执行下面这个命令:如果是Linux将打开 /工作区目录/.git/config文件, 如果是Windows:与Linux一样 git config -e(打开版本库级别配置文件) 执行下面这个命令:如 ...

  6. Git config 查看和设置配置信息

    Git使用git config 指令来指定与git相关的配置 config 配置有system级别.global(用户级别).和local(当前仓库)三个级别,三个设置范围system->glo ...

  7. git bash命令_更优雅地使用命令行

    工欲善其事,必先利其器,通过武装自己的命令行工具,从而更优雅地使用命令行,可以使工作更加高效并且有趣.本文将以下几个方面来介绍命令行的使用技巧和提效工具 CLI 一键呼入呼出 iterm2 是一款完全 ...

  8. Git 常用命令整理(持续更新)

    #配置 git config --global user.name "Your Name" git config --global user.email "email@e ...

  9. git(10)---Git常用命令

    文章来源: 原创: 醉落红尘 Linux公社 Git重要概念 master head 每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.在Git里,有个分支叫主分支,即master分支. ...

最新文章

  1. 图像分析:投影曲线的波峰查找
  2. legend3---3、lavarel页面post请求错误之后跳转
  3. 机器学习知识点(二)各类型平均数Java实现
  4. c++局域网主动ftp_【Jmeter】使用Jmeter对FTP协议的测试
  5. php安装编译时 configure: error: Cannot find OpenSSL's evp.h
  6. MongoDB介绍与安装
  7. 又一家网贷平台宣布退出:已在美股上市,累积借贷金额近三千亿
  8. java 创建学生信息类_java定义一个表示学生信息的类
  9. 8.1、Spring Boot 属性配置
  10. progressbar 自定义样式_Progressbar的简单使用
  11. Java模拟醉汉行走问题_用R模拟二维随机行走
  12. IOS 检测摇一摇动作的实现方式
  13. 【Unity3D日常开发】Unity3D中实现箭头指向目标点的效果
  14. 品优购项目-项目,背景,设计,文件夹,ico图标,网站优化三大标签,字体icomoon等介绍...
  15. 网络初级 关于ensp动态路由rip协议
  16. 发送打印任务后不打印
  17. sim7600ce 拨号上网测试_SIM7600CE TCP/IP连接与PPP拨号上网 4G上网
  18. asp mysql 不用 dsn,另类: asp不用DSN访问数据库
  19. DIP分组器核心c#源代码优化封版,三个城市DIP数据分析
  20. 手游SDK该怎么选择,SDK的特点是什么?

热门文章

  1. 由浅入深理解java集合(二)——集合 Set
  2. 《数字视频和高清:算法和接口》一第1章 光 栅 图 像
  3. 和lock一起学beego 博客系统开发为例(五)
  4. 对话框属性页(VC_MFC)
  5. 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解
  6. 黄聪:C# MP3操作类,能播放指定的mp3文件,或播放嵌入的资源中的Mp3文件
  7. ASP.NET 开发小技巧 (持续更新)
  8. 他是第一批推动比特币普及的人 如今早已放弃了信仰
  9. 在freebsd下安装vim(Debian下类似)
  10. 云栖2050 —— 面向年青人的科技公益大会