Git仓库的配制文件分为三个部分:

1. .git/config:指定仓库配置(特定于某个仓库),获取或设置时使用--file参数(或者省去)。

2. ~/.gitconfig:用户级别仓库配置(适用用于特定用户下的所有仓库),获取或设置时使用--global参数。

3. /etc/gitconfig:系统级别仓库配置(适用于所有仓库),获取或设置时使用--system参数。

覆写关系为:小范围覆盖大范围属性;自上到下,作用范围越大。

在使用Git过程中,需要设置许多定制化的配置;比如:email、name、显示、输入等等。这些配置均写到上述文件中,且使用不同的指令会修改不同位置的文件,也就产生不同的范围。

下面分为不同的主题,讲述Git中涉及到的不同设置。

主题1:设置相关的系统属性、指令输入等配置

获取当前仓库的所有系统设置:

james@james-PC MINGW64 /d/GitDemo $ git config -l
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
credential.helper=manager
user.name=ZHANGEfeng-james
user.email=zfengwust3054@163.com
core.autocrlf=false

取消设置指令:

james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --unset --global user.email 
james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config -l
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain rebase.autosquash=true
credential.helper=manager
user.name=ZHANGEfeng-james
core.autocrlf=false
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true

设置指令别名:

james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.st status 
james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git st On branch master nothing to commit, working tree clean james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.ci commit
james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git config --global alias.lg log
james@james-PC MINGW64 /d/GitDemo/public_html (master) $ git lg commit 8bac1e803752ec07728a8a702043cfdae9370eac
Author: ZHANGEfeng-james <zfengwust3054@163.com>
Date: Sat Dec 3 21:12:14 2016 +0800
testOtherName to test
commit 908c2e3a0bcc23486887700214f451b00afeb07b
Author: ZHANGEfeng-james <zfengwust3054@163.com>
Date: Sat Dec 3 21:02:13 2016 +0800
move test to testOtherName

上述设置结果,执行git lg等价于执行git log。

主题2:Git的忽略文件配置

Git版本控制中可通过配置.gitignore文件,将文件中的模式文件排除在Git管理之外。

.gitignore文件(一般会和.git目录在同一级)示例内容如下:

bin
gen
.classpath
.project
*.properties

若配置.gitignore文件为上述内容,Git将会排除下述情况:所有的bin、gen目录(包含本目录下的bin\gen,以及任何的子目录bin\gen等);后缀为classpath、project以及properties的文件。

.gitignore文件的配置语法如下:

1. 以斜杠“/”结尾,表示目录;

2. 以星号“*”,表示多个通配符;

3. 以问号“?”,表示单个通配符;

4. 以叹号“!”,表示不忽略(跟踪)匹配到的文件或目录;

此外,git对于.gitignore匹配文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面则不会生效。

举例:

1. fd1/*,说明:忽略fd1目录下的全部内容

2. /fd1/*,说明:忽略根目录下的/fd1/目录的全部内容;

3. bin:说明:忽略bin目录下的所有内容;不管是.../bin/目录下的内容还是/bin/目录下的内容都将被忽略

依照上述的忽略文件制作方式,可以制作同样的一份文件名为:.gitignore_global,其内容同上述。

并在包含.git/的工程中执行以下指令(如下指令确实需要执行,否则 Git 怎么知道使用忽略文件呢?):

git config --global core.excludesfile ~/.gitignore_global

也就是将全局忽略文件都设置为同一份:.gitignore_global;其中~/.gitignore_global为忽略文件所在路径。

Git平台使用时的配置分析的更多相关文章

  1. Spring事务管理--多个ORM框架在使用时的情况分析

    公司的项目已经接近尾声了,总结一下项目中用到的技术,我发现项目中的有些东西还是挺模糊的,只是知道这么用就行了.并不清楚其中的原理.由于公司的项目比较老,是7年前的一个项目了,中间一直有人在维护,也是在 ...

  2. html-webpack-plugin插件使用时参数配置

    ERROR in multi main Module not found: Error: Cannot resolve 'file' or 'directory' ./public/pages/ind ...

  3. Git+SourceTree使用时出现的问题

    今天重新用Git+SourceTree添加代码,出现了很多问题,记录下: 1.安装了我SourceTree后克隆项目,粘贴网址后出现Url不正确的情况. 解决: (寻找了些资料,大仙大部分都是说直接选 ...

  4. 小白学数据分析----->移动游戏的使用时长分析

    写下该文章,是因为之前看到了几款游戏一个典型的玩家刺激活动,在<多塔联盟>,<萌江湖>等多款游戏的设计中都有体现,如下图所示: 这个功能点的设计,今天在这里讲的更多的还是跟数据 ...

  5. 快速为不同 Git 平台配置用户

    在 ~ 目录下创建 config 文件可以为项目配置默认的用户信息,但如果希望经常切换,那么最好就是通过命令为项目单独设置用户. 我使用的 shell 是 zsh, 所以我在 ~/.zshrc 文件中 ...

  6. Git详解之特殊配置与钩子应用

    前言 到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它. 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求. ...

  7. SpringSecurity的配置分析

    在分析SpringSecurity前,基于多年前使用SpringSecurity和近年来使用Shiro的经验, SpringSecurity这些年在发展和SpringBoot整合之后,也逃不出以下的一 ...

  8. Vue企业级优雅实战02-准备工作03-提交 GIT 平台

    代码管理.版本管理是件老大难的事情,尤其多人开发中的代码冲突.突击功能时面临的 hotfix 等.本文只是简单说说如何将一套代码提交到两个 Git 平台(GitHub.GitEE)上.其他的 Git ...

  9. EntityFrameWork 使用时碰到的小问题

    EntityFrameWork 使用时碰到的小问题 1,在使用orm访问数据库的相目里,也要引用EntityFrameWork.dll,否则无法使用orm 否则,编译错误 错误 5 "Sys ...

随机推荐

  1. zero ice 如何获取本地以及对端IP 地址及端口号

    // 在客户端显示端点连接IP及端口号信息 static void show_endpoint(const Ice::ObjectPrx &proxy) { Ice::ConnectionPt ...

  2. Python基础篇【第1篇】: Python基础

    Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有 ...

  3. 【解决】SharePoint外部列表保存的日期/时间值不正确

    [问题描述]: 在SharePoint中创建一个外部列表后,通过工作流或直接通过外部列表中的新增向外部列表添加数据项.通过外部列表或数据库查看添加的数据项时发现日期类型字段的值都不正确,像是差了若干个 ...

  4. Jmeter组件5. 逻辑控制

    逻辑控制组件也有不少,但是用到的情况也不多,只打算举个While controller结合Regular Expression Extractor的例子 Condition,跳出循环的条件 如果放空, ...

  5. input自动获取焦点

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>te ...

  6. 使用GDB进行调试

    下面是几篇非常好的GDB使用指南: http://www.cs.cmu.edu/~gilpin/tutorial/ http://oss.org.cn/ossdocs/gnu/linux/gdb.ht ...

  7. NHibernate系列文章十六:使用程序集管理NHibernate项目(附程序下载)

    摘要 在实际的项目中,经常是将NHibernate的实体关系映射类做成独立的工程(assembly dll),只对外提供Session调用的接口.这个程序集作为数据访问层,可以被上面的多个工程(ASP ...

  8. Python自动化 【第二篇】:Python基础-列表、元组、字典

    本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库, ...

  9. php json_encode中文unicode问题

    php调用json_encode将中文字符串存入mysql后读取出来有问题,发现存进去的时候把'\'给去掉了.解决方法是调用json_encode时候后面加JSON_UNESCAPED_UNICODE ...

  10. Android_getSystemService (demo_testNet)

    今天主要通过一个案例来看下我们的Android 获取系统服务的问题. 我们通常能够看见登录QQ后如果没有网络的状态的时候,它会告诉你一句话:您进入了没有网络的异次元或者是什么网络连接错误等等.Andr ...