平时我们在使用git的时候,很少去关注其配置是如何,而在实际开发中,对git config这个命令的使用也并不是很多,但是配置对一个程序和项目来说都是很重要的,我们今天来看看git的配置以及git config的初步应用。

    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文件的方法有三种,见:
通俗的讲就是行内样式“<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
可见,我们添加的cat.name已经被删除了

但是,在配置文件中,cat这个section还依然存在,那么怎么通过命令来彻底删除呢?请听下回分解。

[转] git config命令使用第一篇——介绍,基本操作,增删改查的更多相关文章

  1. iOS开发——数据持久化OC篇&plist文件增删改查操作

    Plist文件增删查改   主要操作: 1.//获得plist路径    -(NSString*)getPlistPath: 2.//判断沙盒中名为plistname的文件是否存在    -(BOOL ...

  2. Git配置文件与git config命令

    在Git配置文件中配置变量,可以控制Git的外观和操作的各个方面.通过git config命令可以获得和设置配置变量. 一.Git配置文件的位置 这些变量可以被存储在三个不同的位置: 1./etc/g ...

  3. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  4. git config命令使用

    1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大 ...

  5. 转 git config命令使用

    . git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家 ...

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

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

  7. Java并发包下锁学习第一篇:介绍及学习安排

    Java并发包下锁学习第一篇:介绍及学习安排 在Java并发编程中,实现锁的方式有两种,分别是:可以使用同步锁(synchronized关键字的锁),还有lock接口下的锁.从今天起,凯哥将带领大家一 ...

  8. spring cloud系列教程第一篇-介绍

    spring cloud系列教程第一篇-介绍 前言: 现在Java招聘中最常见的是会微服务开发,微服务已经在国内火了几年了,而且也成了趋势了.那么,微服务只是指spring boot吗?当然不是了,微 ...

  9. MySQL数据库增删改查等常用命令介绍

    MySQL可以说是最常用的小型数据库,加上现在越来越流行的分布式架构,哪怕是一般的中大型项目也可以用MySQL来进行部署. 数据库的操作最常用的就是增删改查,还有一些切换数据库等操作.以下命令不加说明 ...

随机推荐

  1. Linux内存映射(mmap)系列(1)

    看到同事的代码中出现了mmap.所以自己私下学习学习,研究研究..... http://www.cnblogs.com/lknlfy/archive/2012/04/27/2473804.html ( ...

  2. linux之GDB常用命令汇总

    查看gdb的版本号 (1)rpm -q gdb 会显示是否安装gdb及版本号 (2)gdb --version也可以 breakpoint b main; b 20; 设置断点 breakpoint ...

  3. March of the Penguins

    poj3498:http://poj.org/problem?id=3498 题意:某个冰块上有a只企鹅,总共可以跳出去b只,问是否可能所有的企鹅都跳到某一块冰块上,输出所有的可能的冰块的编号. 由于 ...

  4. 初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。

    我自己就是一个oracle和sql的初学者,前段时间看了韩顺平老师的oracle视频教程,觉得很深入浅出,收获了很多.同时自己也做了不少笔记,现在想将纸质笔记以自己的话总结出来.俗话说得好:教学总是相 ...

  5. Mongo的导出工具mongoexport介绍

    需求介绍:将mongodb中的数据以文件的方式导出:json或cvs格式 mongo 提供了mongoexport的工具,可以实现将库中的数据以json或cvs的格式输出到文件中.mongoexpor ...

  6. Delphi WebBrowser控件的使用(大全 good)

    Delphi WebBrowser控件的使用 WebBrowser控件属性:1.Application      如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDis ...

  7. Lua function 函数

    Lua支持面向对象,操作符为冒号‘:’.o:foo(x) <==> o.foo(o, x). Lua程序可以调用C语言或者Lua实现的函数.Lua基础库中的所有函数都是用C实现的.但这些细 ...

  8. Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题

    在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统.应用程序之间.应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是 ...

  9. 【HDOJ】3205 Factorization

    题意很简单.就是求x^k-1的因式分解.显然x-1必然是其中之一(x=1, x^k-1=0).假设k=mp. 则x^k = (x^p)^m, 同理x^p-1必然是其中之一,即x^p的所有因式一定是x^ ...

  10. Scala:(1)变量

    Scala中变量需要注意的地方: (1)val,var val 定义的声明是一个常量,不能改变内容. var定义的声明是一个变量,可以改变其内容 在Scala中,尽可能使用val val answer ...