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
8.如果记不住上面的命令或者需要批量修改和添加时,可直接打开对应的配置文件进行修改。
比如拷贝下面的别名设置到全局级配置文件中:

[alias]
st = status
ci = commit
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD

转载自:http://blog.csdn.net/zxncvb/article/details/22153019

转载于:https://www.cnblogs.com/cade/p/6169032.html

git conifg相关推荐

  1. Git - 常用命令使用教程

    本文介绍git常用命令的使用方法. Git 译为分布式版本控制系统,是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 安装 Linux $ sudo apt inst ...

  2. linux 分布式 程序管理,linux--------------git分布式系统项目管理(1)

    这几天重庆还真是热啊,不过在实验室还算不错,也是个不错的环境.之前在做内核相关的东西的时候就经常在github下载源码,觉得挺好用的,当时我也是想等有空的时候要好好学一下怎么使用的.看了两天的pdf了 ...

  3. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  4. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  5. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  6. git shanchu stash_git stash用法

    常用git stash命令: (1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不 ...

  7. 项目中使用 Git 高频场景

    1. 拉取最新主干代码,进行功能迭代或 bug 修复 首先切换到主干: git checkout master 然后拉取最新代码: git pull 基于 master 创建本地分支 xxx: git ...

  8. Git 错误提交后该如何回滚操作

    1. Git 架构 Workspace:工作区(当前用户操作修改的区域) Index / Stage:暂存区 (add 后的区域) Repository:仓库区或本地仓库(commit 后的区域) R ...

  9. Git 最全命令总结都在这里了

    1. 基本命令 git diff 不加参数直接输入 git diff : 尚未暂存的文件更新了哪些部分 git diff --staged : 已暂存文件与最后一次提交的文件差异 git diff - ...

最新文章

  1. Vue.js 2.0 学习重点记录
  2. No.6 建立swap分区、进程、安装软件包的方法(rpm,yum,编译)
  3. 带防夹功能的升降器原理_全系标配行车自动落锁功能,全新凯美瑞表现分析
  4. 【过程记录】springboot整合redis/分别用redisRepository和redistemplate操作redis
  5. Using Python with Oracle
  6. java ee的小程序_Java EE 8 –为更多设备提供更多应用程序
  7. [Hnoi2006]马步距离
  8. 关于vc++调用 exe文件的问题
  9. python中name没有定义_Python NameError:全局名称’NAME’未定义! (但它被定义)
  10. win10计算机系统优化设置,有效提升Win10运行速度的基本优化设置方案
  11. 直线/折线/圆/三角形划分平面直线切割球问题大总结(最多能划分多少区域)
  12. idea 从svn 下载项目
  13. pdf转换软件注册码
  14. 【WPS】数学公式用插入打的 为什么公式显得比字体靠上
  15. 诺瓦科技2022数字IC设计提前批笔试
  16. 清华小学上册计算机教学案例,创新型教学案例.doc
  17. 计算机图形学八大行星程序,计算机图形学模拟太阳系源代码
  18. 将pdf文件转换成word,csv文件
  19. Apache doris 使用过程中常见问题汇总
  20. java 9宫格抽奖_js 实现9宫格抽奖(react)

热门文章

  1. ERROR 3948 (42000): Loading local data is disabled问题解决
  2. colab中的在Github中保存一份副本无法保存到自己github
  3. awk输出最后一列的命令
  4. linux 多个会话同时执行命令后history记录不全的解决方案
  5. Spark-shell进行粘贴模式
  6. LINUX 下编译 ffmpeg
  7. 云服务器的操作系统是什么,服务器操作系统是什么?云服务器的操作系统怎么选择...
  8. 驱动人生服务器版本_电脑驱动怎么装?电脑刚装系统怎么装驱动?
  9. 苹果7手机计算机怎么看历史记录,苹果手机safari书签及其历史记录怎么恢复
  10. JAVA月数输入24回车后变成12_Java语言程序设计(一)自考2012年10月真题