暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Git基础命令之config

Alleria Windrunner 2019-02-06
1125

在讲完Git的历史故事和分布式特性之后,按照之前的计划是打算直接开始介绍Git多人单分支集成协作时的常见场景,但考虑后还是觉得先简单的介绍下Git的基础知识较好。Git的安装我就不占用篇幅多做介绍了,请大家自行参考官网。

  • Git官网文档

    • https://git-scm.com/book/zh/v2

  • macOS平台下载地址

    • https://git-scm.com/download/mac

  • Windows平台下载地址

    • https://git-scm.com/download/win

  • Linux平台下载地址

    • https://git-scm.com/download/linux


为了介绍后续的知识,我在Github上面建了个示例工程,后续的演示都以改工程为依托。https://github.com/AlleriaWindrunner/git-learning.git。那么首先我们切换到干净的目录:



然后克隆该工程到本地:




然后正式开始我们的本篇命令config介绍,首先我们来看看config命令的输出:



我们看到直接输入config会输出一些usage信息,总共分为四大类:

  1. Config file location(配置文件的作用域)

  2. Action(动作)

  3. Type(类型)

  4. Other(其它)


那配置文件的作用域名是什么意思呢?

  • git config --local 作用域为当前仓库。

  • git config --global 作用域为当前用户的所有仓库。

  • git config --system 作用域为当前系统登录的所有用户。


我们可以看到Action中有一个-l,--list list all命令,顾名思议其作用就是查看git仓库的配置信息,那么我们就在三种作用域下分别使用list命令看看其有什么区别:





我们来逐个分析下,首先是系统作用域下报错“fatal: unable to read config file '/etc/gitconfig': No such file or directory”,从这里我们可以得出的信息:

  1. config命令的输出其实是从git的配置文件里面读到的。

  2. 系统作用域的git配置文件是/etc/gitconfig。


其具体的配置会在后续介绍,这里不多做赘述,有兴趣的朋友可以自行到官网查阅资料进行配置。其次我们对比本地作用域和全局作用域,最为眼熟的当然是user.email和user.name这两个配置,其作用我相信大家应该都知道,当然是Git账户的邮箱和用户名,我们都知道Git针对每次修改都会有提交记录,邮箱和用户就是用来唯一标识账户信息的。我们发现本地作用域下并没有这两项配置而全局作用域下有,那我们就用示例工程来做个小测试:我计划给此次的Git知识分享写一个目录在README文件中,然后我门提交并同步到远程仓库,我们看看提交记录的帐户是什么?


当我们提交的时候Git会提示我们输入账户信息。

这个时候我们在Github上面可以看到一条提交记录,但不是我想要使用的账户。那么我们在全局作用域中把账户信息修改为演示账户:


这个时候我们看到全局作用域配置中的账户信息已经修改,这个时候我们修改下README文件再来提交一下:

这个时候我们再去Github上面就可以看到刚刚设置的账户信息的提交记录了。


Tips:如果任何作用域都没有配置账户信息会是怎么样呢?当前仓库作用域和全局作用域中都有配置会是哪个优先呢?大家可以自己去试试哦。


好了,到这里config命令就介绍的差不多了,总结下:config命令就是用来维护Git配置的信息的,希望大家好好理解并使用哦。

文章转载自Alleria Windrunner,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论