Git 配置 - git config

经过上一章的紧张安装,我们终于可以使用 Git 了,但在这之前我们先做一些简单的配置

Git 提供了 git config 命令来配置 Git

Git 环境变量

git config 命令专门用来配置或读取相应的工作环境变量

Git 有三种级别的环境变量,它们分别是: 系统 Git 配置、当前用户 Git 配置 和 当前项目 Git 配置

这些环境变量,决定了 Git 在各个环节的具体工作方式和行为

三种级别的 Git 环境变量存储在 三个 不同的配置文件中

  1. 系统 Git 配置 : /etc/gitconfig 文件

    /etc/gitconfig 是对所有用户都普遍适用的配置

    可以使用以下命令来读写 /etc/gitconfig 文件

    $ git config --system
    
  2. 当前用户 Git 配置 : ~/.gitconfig 文件

    ~/.gitconfig 这个当前用户目录下的配置文件只适用于当前用户

    可以使用以下命令来读写 ~/.gitconfig 文件

    $ git config --global
    
  3. 当前项目的 Git 配置 : .git/config 文件

    .git/config 是当前项目下的配置文件,只适用于当前项目有效

    可以使用以下命令来读写 .git/config 文件

    $ git config
    

每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig中的同名变量

Windows 上配置文件目录

在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件

主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings\$USER

$USER 是当前用户的登录名

此外, Git 还会尝试找寻 Git 安装目录下的 gitconfig 文件

配置 Git

1. 配置用户信息

可以使用以下命令配置个人的用户名称和电子邮件地址

$ git config --global user.name "yufei"
$ git config --global user.email yufei@twle.cn
  1. 如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后我们所有的项目都会默认使用这里配置的用户信息

  2. 如果要配置某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项即可

    这样新的设定保存在当前项目的 .git/config 文件里

2. 配置文本编辑器

我们可以设置 Git 默认使用的文本编辑器

一般情况下可能会配置成 vivim 当然我们也可以配置成其它的,比如 emacs

$ git config --global core.editor emacs

3. 配置差异分析工具

差异分析工具是用在解决合并冲突时查看文件差异的

我们可以将默认的差异分析工具改成 vimdiff

$ git config --global merge.tool vimdiff

Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息

查看配置信息

1. 要检查已有的配置信息,可以使用 git config --list 命令

$ git config --list
http.postbuffer=2M
user.name=yufei
user.email=yufei@twle.cn

如果看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过 Git 实际采用的是最后一个

也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可

$ git config user.name
yufei

2. 我们也可以直接查看配置文件

比如我们可以用 cat ~/.gitconfigcat /etc/gitconfig 命令查看配置

$ cat /etc/gitconfig
[http]
    postBuffer = 2M
[user]
    name = twle
    email = test@twle.cn
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.