平时我们在使用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文件的方法有三种,见: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
  • 可见,我们添加的cat.name已经被删除了
    但是,在配置文件中,cat这个section还依然存在,那么怎么通过命令来彻底删除呢?请听下回分解。(2012.12.09,待续……)

转载于:https://www.cnblogs.com/hutaoer/archive/2012/12/09/3078879.html

git config命令使用第一篇——介绍,基本操作,增删改查相关推荐

  1. mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)

    MySQL数据库概述 MySQL数据库是经典的关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Dat ...

  2. Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

    学习目标 redis 概念 下载安装 命令操作 1. 数据结构 持久化操作 使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是 ...

  3. mongodb基本操作=增删改查

    这两天总算清闲下来了,这里只介绍mongodb的一些基本增删改查,从大到小,从数据库到下面的集合表等,这里推荐一个mongodb的可视化工具Robo3T,在上面操作增删改查使用起来也简单 数据库相关的 ...

  4. 字典的介绍及增删改查、常见操作

    目录 介绍 生活中的字典 开发中的字典 根据键访问值 字典的增删改查 1>修改元素 2>添加元素 3>删除元素 字典的常见操作 1>len() 2>keys 3>v ...

  5. MongoDB基本操作(增删改查)

    2019独角兽企业重金招聘Python工程师标准>>> 基本操作 基本的"增删查改",在DOS环境下输入mongo命令打开shell,其实这个shell就是mon ...

  6. HBase数据库的基本操作增删改查

    # 进入hbase命令行,hbase需要在环境变量路径中 >hbase shell 表操作 # 显示hbase中的表 > list# 创建user表,包含info.data两个列族 > ...

  7. 移动商城第七篇【购物车增删改查、提交订单】

    把商品加入购物车 接下来我们要做的就是将商品加入到购物车中.我们这次使用的是Cookie来将用户的信息存储起来.那为什么要用cookie呢?? 那我们现在决定将购物车存储在Cookie中了,那Cook ...

  8. MongoDB 基本操作增删改查

    import pymongomongo_client = pymongo.MongoClient(host="127.0.0.1",port=27017)DB = mongo_cl ...

  9. c语言实现双链表的基本操作—增删改查

    //初始化 Node*InitList() {Node*head=(Node*)malloc(sizeof(Node));if(NULL==head){printf("内存分配失败!&quo ...

  10. flask中数据库的基本操作-增删改查【备忘】

    1.增加数据(就相当于增加一个实例对象)   user1 = User(name='long',email='1006550026@qq.com',password='123456',role_id= ...

最新文章

  1. 启用无密码方式登录ssh
  2. Java泛型的实现原理
  3. 高德地图横屏不显示服务器,高德地图不能横屏!
  4. MATLAB保存数据为dat格式,將matlab中數據保存為txt或dat格式
  5. C/C++文件剪切复制删除
  6. 公众号第三方平台开发 - 教程五 代公众号发起网页授权源码
  7. k1075停运吗_列车停运计划
  8. 队列——数组实现和链式实现
  9. Jmeter压力测试流程
  10. 计算机网络工程综合布线目的,浅谈网络工程综合布线系统
  11. python qq群管理_Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码...
  12. js微信抢红包脚本代码_微信抢红包插件示例代码及其实现原理
  13. web前端开发--------CSS基础教程
  14. 2022年最全软件测试面试题加答案,毫不夸张的说,学完面试涨薪5K
  15. 移动硬盘提示数据错误循环冗余检查的文件恢复方案
  16. ..\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF (系统找不到指定的路径)解决办法
  17. 古画会唱歌/图片说话对口型视频教程+工具素材
  18. C#实现微信自动回复机器人和微信支付
  19. 2022年京东平台休闲食品的年度总销量超6亿件,同比增长6.5%
  20. 一文搞懂人脸识别那点事---人脸识别方案summary

热门文章

  1. php模拟登陆,PHP模拟登陆手记
  2. Windows中安装 Redis 解压版
  3. Shiro:初识Shiro及简单尝试
  4. Android studio jni
  5. C# aspx 数据绑定集中(待修改)
  6. DataGrid的动态绑定问题(二)
  7. 牛客多校第三场J LRU management(双向链表)题解
  8. mysql 初级练习题
  9. Python str内部功能介绍
  10. CentOS 7 (RHEL 7)服务管理命令的变化