likes
comments
collection
share

四、Git配置

作者站长头像
站长
· 阅读数 9

1. 配置gitconfig

用户可以通过配置git的config文件定义和保存偏好,config文件有多个对应不用的作用域,且优先级高的会覆盖低的:

1.1 三个作用域
config路径 作用域 配置命令 优先级
project/.git/config project项目 git config (--local 缺省参数)
~/.gitconfig 当前用户 git config --global
/etc/gitconfig 本机所有用户 git config --system
1.2 配置操作
  • 查看配置文档:git help config
  • 查看已有配置
命令 结果
git config -l 显示所有级别的配置内容(按由低到高的优先级排列),即多个重复项中最后一项生效
git config --local -l 显示本项目的配置内容
git config --global -l 显示当前用户的配置内容
git config --system -l 显示本机所有用户的配置内容
git config --scope key 显示指定作用域的指定key的值,例如:git config --global user.name
  • 配置config
配置方式 操作
命令配置 例如:git config --global user.name "kivi"
编辑config文件 例如:vim ~/.gitconfig
1.3 配置实例

要正确使用git,只要简单配置如下即可:

git config --global user.name "kivi"
git config --global user.email shichengyx@sina.com

2. 配置忽略文件

git可以配置忽略文件来忽略工作区的指定文件,例如Java项目可通过配置忽略文件来禁止class文件上传到git仓库。

2.1 两个配置文件
  • git忽略文件有两个:.gitignoreexlude文件,Git根据两个文件的内容忽略相应文件。
    • .gitignore隶属于工作区,是项目的一个文件,被Git版本管理(同其他文件一样以blob对象的形式存储在.git/objects/目录下)。适合配置项目公开的忽略文件,其他开发者可见
    • exclude文件位于.git/info/exclude,不属于项目,不被Git版本管理。适合配置本地的忽略文件,其他开发者不可见
2.2 语法规则

git help ignore 查看详细规则

  1. #起始的行为注释行

  2. 绝对路径和相对路径

    • 绝对路径:以/起始的路径,例如:/bin/仅忽略根目录下的bin文件下的文件。
    • 相对路径:非/起始的路径,例如:bin/忽略任意层级下的bin文件夹下的文件
  3. 忽略文件还是目录?

    • folderA/name:忽略folderA下的name文件和文件夹。
    • folderA/name/:忽略folderA下的name文件夹。
  4. 特殊字符:?***[]

    • !:排除
    • ?:匹配任意一个字符【类似regex的.
    • *:匹配任意多个字符(在Linux和Windows平台表现不同,Linux下等同与**,Windows则不等同)
    • **:匹配任意层级目录【类似regex的.*
    • []:匹配一个字符组【等同regex的[]
2.3 配置gitignore

vim .gitignore

# 这是一行注释
.[oa]        # 忽略以.o、.a结尾的文件或文件夹
.html        # 忽略以.html结尾的文件或文件夹
!foo.html    # 但foo.html除外
/bin/*.class # 忽略/bin/下以.class结尾的文件,不包括/foo/bin/.class
lib/         # 忽略lib下所有文件
target/*.jar # 忽略target下以.jar结尾的文件,不包括target/foo/foo.jar
doc/**/*.txt # 忽略doc下所有以.txt结尾的文件
2.4 配置exclude

vim .git/info/exclude,参考.gitignore配置。

参考

  1. 自定义 Git - 配置 Git