在Git配置文件中配置变量,可以控制Git的外观和操作的各个方面。通过git config命令可以获得和设置配置变量。

一、Git配置文件的位置

这些变量可以被存储在三个不同的位置:

1./etc/gitconfig 文件(系统级配置文件):包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ 给 git config,它将明确的读和写这个文件。

2.~/.gitconfig 文件 (用户级配置文件):具体到某个用户。如果你传递参数选项’--global’ 给 git config,它将明确的读和写这个文件。

3.位于git目录的config文件 (也就是 .git/config,项目级配置文件) :具体到某个项目。如果你传递参数选项’--local’ 给 git config,或者不传参数给git config,它将明确的读和写这个文件。

配置文件生效生效优先级是先项目级(.git/config),后用户级(~/.gitconfig),最后系统级(/etc/gitconfig)。

二、Git配置文件详解

转自博客:https://baijiahao.baidu.com/s?id=1623254575291831567&wfr=spider&for=pc

由于git的使用大多都是以用户级的,所以我们日常用的最多都是通过用户级别的配置,接下来主要是用户级别配置文件的介绍。

1、别名[alias]

git别名是我们日常进行git配置使用最多的一部分内容。在git使用中,为了便捷,减少输入,git提供了别名机制来将标准的git命令自定义为自己习惯使用的命令。我们可以将git的命令设定别名为为1或2个字母的快捷方式。


[alias]

amend = commit --amend

amendf = commit --amend --no-edit

br = branch

ct = commit

co = checkout

cp = cherry-pick

df = diff

ds = diff --staged

l = log

lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative

lp = log --pretty=oneline

sa = stash apply

sh = show

ss = stash save

st = status


2、配色[color]

给你的工作终端设置一个好看的颜色也是每一个码农一直孜孜以求的目标,那就看本部分:


[color]

ui = auto

[color "branch"]

current = yellow reverse

local = yellow

remote = green

[color "status"]

added = yellow

changed = green

untracked = cyan

[color "diff"]

meta = yellow

frag = magenta bold

commit = yellow bold

old = red bold

new = green bold

whitespace = red reverse

[color "diff-highlight"]

oldNormal = red bold

oldHighlight = red bold 52

newNormal = green bold

newHighlight = green bold 22


注:ui = auto是UI的默认设置。它在输出直接到终端时为输出着色,但在输出重定向到管道或文件时会省略颜色控制代码,以免导致问题。

3、核心[core]


[core]

editor = vim

excludesfile = ~/.gitignore

pager = diff-so-fancy | less --tabs=4 -RFX

autocrlf = input


核心设置部分包含与git相关的各种不同设置。我们设置到的部分有:

①editor = vim设置要用于编辑提交消息的编辑器(如果未设置此值,git将首先尝试从环境变量VISUAL或EDITOR读取你当前的编辑器,如果获取不到,最终会使用vi)。

②excludesfile =~/.gitignore允许指定全局性质的.gitignore文件。每个git存储库都可以设置特定的项目级别的.gitignore文件,该文件指定要从版本控制中排除的文件。但很多时候,每个git存储库中的一些文件都是相同的(例如,macOS上的.DS_Store,或者当你是Python开发人员时是*.pyc),为了避免重复设置,可以设置全局性质的.gitignore,该设置就会对该用户下所有的项目都生效。

③pager = diff-so-fancy | less --tabs = 4 -RFX指定要用于显示git log,git diff和git show命令输出的工具。默认情况下,git使用的是less。该配置中我们指定使用diff-so-fancy。

④autocrlf = input。 由于Windows使用的是与Unix和MacOS不同的行结尾,如果来自不同操作系统的人员提交到同一个存储库,则可能会造成一些混乱。关于换行设置三种操作系统(windows,linux和macOS)的是不一样的:

MacOS/Linux设置:autocrlf = input

Windows上的autocrlf = true。

4、凭据[credential]


[credential]

helper = cache --timeout=28800


凭据部分用来指定希望你需要默认保存的账号和密码。默认情况下,git根本不会包存储凭据,所以,每次连接时(http(s)性质的仓库)都会提示输入用户名和密用,这会很麻烦,你可以在此处设置保存户名密码,这样就可以不用每次都输入了(当然最好方式,是用ssh证书方法,即安全又方便)。凭据一般可以通过两种方式保存,保存在带有store选项的文件中(它将使用你的凭据创建纯文本文件),或使用cache选项将它们存储在内存中。当然根据你系统不同,还可以使用第三方的方式,比如MacOS下的osxkeychain,Windows下的Git Credential Manager)。此处我们使用的是,通过内存cache的方式,默认是15分钟,此处我们设置为8小时。

5、推送[push]


[push]

default = current


git push命令中包含分支的名称,如果你没有添加,可能导致意外的行为(例如我正在开发dev分支,但不小心,push到了master分支)。为了防止这种错误,我给push设置了default = current选项。现在,如果忘记包含分支的名称,git将尝试推送到具有相同名称的分支。如果它在远程库中找不到具有相同名称的分支,会新创建一个。

6、证书认证[http]


[http]

sslVerify = false


由于CA证书的问题,导致不能上传代码,简单粗暴的方法就是设置不认证证书。

关于git证书认证,可查看如下博客:https://www.cnblogs.com/yssjun/p/10145864.html,此篇博客介绍得十分详细。

三、git config命令详解

参考博客:https://www.cnblogs.com/shoshana-kong/p/11003192.htmlhttps://www.cnblogs.com/fireporsche/p/9359130.html

git config命令能够获取和设置git配置文件中的配置变量。

1、查看配置文件中的配置项

git config [--system|--global|--local] [--get] 模块名.变量名


#查看用户级配置文件的所有配置项

git config --global --list 或 git config --global --list

#查看用户级配置文件的用户名配置项

git config --global user.name

#查看用户级配置文件的编辑器配置项

git config --global --get core.editor


2、设置配置文件中的配置项

git config [--system|--global|--local] 模块名.变量名 配置值


#设置用户级配置文件的用户名配置项

git config --global user.name xiaoming

#设置用户级配置文件的编辑器配置项

git config --global http.sslVerify false


3、在配置文件中添加配置项

git config [--system|--global|--local] --add 模块名.变量名 配置值


#在用户级配置文件的增加邮箱配置项

git config --global -add user.email xiaoming@163.com


4、删除配置文件中的配置项

git config [--system|--global|--local] --unset 模块名.变量名


#在用户级配置文件的删除邮箱配置项

git config --global --unset user.email


5、编辑配置文件

git config [--system|--global|--local] -e


#编辑用户级配置文件

git config --global -e


6、获取帮助

如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令帮助信息:


git <verb>

git <verb> --help

git help <verb>


关于如何配置Git配置文件和git config的使用方法,本博文可能介绍得不是特别详细,如果想具体了解它们可以查阅官方文档:https://git-scm.com/docs/git-config/

Git配置文件与git config命令的更多相关文章

  1. git config命令使用

    1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大 ...

  2. [转] git config命令使用第一篇——介绍,基本操作,增删改查

    平时我们在使用git的时候,很少去关注其配置是如何,而在实际开发中,对git config这个命令的使用也并不是很多,但是配置对一个程序和项目来说都是很重要的,我们今天来看看git的配置以及git c ...

  3. 转 git config命令使用

    . git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家 ...

  4. git学习(二):git config命令

    不同的git config操作不同的参数文件 git config --global // 配置用户目录下的.gitconfig那文件 git config --system // 配置系统级配置文件 ...

  5. git config命令详解

     Git有一个工具被称为git config,它允许你获得和设置配置变量:这些变量可以控制Git的外观和操作的各个方面. 一. 配置文件的存储位置 这些变量可以被存储在三个不同的位置: 1./etc/ ...

  6. 版本控制-Git服务器搭建和常用命令使用

    Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...

  7. Git 常见的一些小命令

        Git 常见的一些命令 关于一些参数比较多,比较复杂的都有单独进行介绍         1. git cherry-pick 挑拣命令,当我们不想合并分支,或者git pull 更新仓库,而是 ...

  8. Git的配置及常用命令

    Git配置 git config --global user.name "<username>" git config --global user.email &quo ...

  9. Git配置和一些常用命令

    Git:常用命令.... git clone <repo> git config –list git diff –staged add后,commit前的撤销:git rm –cached ...

随机推荐

  1. pycharm基本使用python的注释语法

    pychram基本使用 1.主题选择 file settings Editor color Scheme 2.pycharm切换解释器 file settings Project Python Int ...

  2. InnoDB存储引擎的锁

    InnoDB存储引擎的锁 锁的类型 锁的类型包括: 1.     共享锁(S lock),允许事务读取一行数据 2.     排他锁(X lock),允许事务删除或更新一行数据 锁的兼容性a X S ...

  3. HashMap 中的一个“坑”!

    最近公司新来了一个小伙伴,问了磊哥一个比较"奇怪"的问题,这个问题本身的难度并不大,但比较"隐蔽",那究竟是什么问题呢?接下来我们一起来看. ​ 起因 最近公司 ...

  4. WebRTC概念介绍

    WebRTC WebRTC(Web Real-Time Communication).Real-Time Communication,实时通讯. WebRTC能让web应用和站点之间选择性地分享音视频 ...

  5. Spring Cloud调用接口过程

    Spring Cloud 在接口调用上,大致会经过如下几个组件配合: Feign== >Hystrix ==>Ribbon ==>Http Client(apache http co ...

  6. VM的三种连接方式(转载)

    概述: VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模 ...

  7. python及pygame雷霆战机游戏项目实战01 控制飞机

    入门 在这个系列中,将制作一个雷霆战机游戏. 首先,将游戏设置修改一下: WIDTH = 480 HEIGHT = 600 FPS = 60 玩家精灵 要添加的第一件事是代表玩家的精灵.最终,这将是一 ...

  8. Mac 安装 RabbitMQ 出现的问题

    安装 RabbitMQ 在官网这里按照步骤来就行 出现Error: Permission denied @ apply2files - /usr/local/lib/docker/cli-plugin ...

  9. C#中指针的使用(转)

    在C#中,有时候希望通过指针来操作内存,这样可以提高效率.我们可以用unsafe关键字修饰含有指针操作的程序段,如下所示: class Program {   static int Main(stri ...

  10. JAVA后端方面,如何快速达到能实习的程度

        概要地讲,是先广度再深度,面试开发两手抓. 首先说学习方法,因为很多初学者没继续下去,不是能力不行,而是方法不当.对比下错误和正确的方法. 1 光看视频光看资料不动手连,这样转眼就忘.正确的做 ...