你真的了解git config吗

前言

  记得当时刚使用git的时候,安装完git后就按照别人说的稀里糊涂配置了这些玩意。

1
2
$ git config --global user.name "xxx"
$ git config --global user.email "xxx"

  压根没有想过git config这玩意有没有其他的作用。而最近看完progit这本书后,发现git config的用法还是很多的。这里就记录一些比较常用的。

config文件

  git config实际上有三个层级的配置文件,它们分别是:

  1. git config –system,在mac上,这个配置文件在/usr/local/git/etc/gitconfig
  2. git config –global,在mac上,这个配置文件在~/.gitconfig
  3. git config –local,这个配置文件是在本地仓库的.git/config

  而当你使用到这些配置属性的时候,git会根据层级来获得这个属性的值,本地仓库下的配置优先级最高,其次是global配置,最后才是system配置。
  我们可以看下global文件下配置的属性。001
  可以看到我们通过git config –global属性配置的user.name和user.email。

不同仓库不同身份

  这个很简答,我们只需要通过git config –lobal配置好本地仓库的name和email,然后再生成对应email的ssh key并配置在服务器端就可以了。

1
2
$ git config --local user.name "xxx"
$ git config --local user.email "xxx"

多个远程仓库

  我记得很早之前我有个朋友问我一个问题,说他们的git工作模式是fork,每个人都有一个远程仓库和一个本地仓库,同时也有一个中央仓库,而他想要把代码同时提交到多个远程仓库该怎么弄。
  默认情况下,我们clone远程仓库的代码后,local 配置文件下会有一个名为origin的远程仓库别名。002
  我们只需要通过git remote add xxx repoUrl添加其他的远程仓库就可以了。

1
2
3
$ git remote add another xxxxxx
# 移除
$ git remote rm another

  本地配置文件是这个样子的。003

本文标题:你真的了解git config吗

文章作者:严方雄

发布时间:2018-05-18

最后更新:2018-09-13

原始链接:http://yanfangxiong.com/2018/05/18/你真的了解git-config吗/

0%