Git配置文件与git config命令

在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 [email protected]



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/

原文地址:https://www.cnblogs.com/shujk/p/12443239.html

时间: 2024-10-08 04:11:11

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

Git初始化之思考git config命令的各参数有何区别

在之前出现的git config 命令中,有的使用 --global 参数,有的使用了 --system 参数,这两个参数有什么区别吗?执行下面的一系列命令后,你就会明白使用不同参数的 git config 命令实际操作的文件了. 执行下面的命令,将打开 /path/to/my/workspace/demo/.git/config 文件进行编辑. $ cd /path/to/my/workspace/demo/ $ git config -e 执行下面的命令,将打开 /home/fuhd/.gi

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

平时我们在使用git的时候,很少去关注其配置是如何,而在实际开发中,对git config这个命令的使用也并不是很多,但是配置对一个程序和项目来说都是很重要的,我们今天来看看git的配置以及git config的初步应用.     1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家. 你们所知的git配置文件是放在哪里的?git有几个配置文件呢?

git config命令使用

1. git config简介 我们知道config是配置的意思,那么git config命令就是对git进行一些配置.而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家. 你们所知的git配置文件是放在哪里的?git有几个配置文件呢?是的,聪明的你,稍微查查资料就知道咯,git里面一共有3个配置文件,首先是:仓库级配置文 件:该文件位于当前仓库下,路径.git/,文件名为.gitconfig,这个配置中的设置只对当前所在仓库有效仓库级配置文件内容如下: 第二个是

git config 命令各参数有何区别

在之前出现的 git config 命令中,有的使用了 --global 参数,有的使用了 --system 参数,这两个参数有什么区别吗? 1. 打开所在工作目录的config文件(版本库级别的配置文件) git /home/git/demo git config -eresult: 打开了 /home/git/demo/.git/config文件 2. 打开全局配置文件(用户主目录下) git config -e --globalresult: 打开了 /home/git/.gitconfi

Git的配置及常用命令

Git配置 git config --global user.name "<username>" git config --global user.email "<email>" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias

git配置文件读取顺序

作者:zhanhailiang 日期:2014-11-03 git包含三个配置文件: /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置.若使用git config 时用' –system'选项,读写的就是这个文件. ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户.若使用git config 时用' –global'选项,读写的就是这个文件. 当前项目的git 目录中的配置文件(也就是工作目录中的.git/config 文件):这里的配置仅仅针对当前项目有效

Git常见相关知识与命令

安装git程序 ContOS Yum install –y epel-release Yum install –y git Ubuntu Sudo apt-get install git Windows上安装 https://git-scm.com/download/win 安装完成以后还需要最后一步设置 git config --global user.name "Qiang"//比如Qiang git config --global user.email "[email 

git 服务器搭建及一些命令说明

yum install python-setuptools 1.useradd git && echo "123" | passwd --stdin git 2. mkdir /home/git/repositories chown git:git /home/git/repositories chmod 755 /home/git/repositories 3.get and install gitosis cd /tmp git clone https://gith

Git 基本原理与经常使用命令

平时使用过两种版本号控制软件 SVN 和 Git,平心而论,假设纯粹自己使用,那么绝对 Git 更加适合,本地库.远程库.离线工作.强大而灵活的分支.大名鼎鼎的Github, 这些都是选择 Git 的原因.记得刚接触时Git,感觉 Git 如此强大,再加上其是由大名鼎鼎的 Linus 所编写,所以花了非常多的时间看各种资料,不过后来那些不经常使用的命令与功能还是只停留在知道与了解的层面.Git 不过一种工具,是为了满足某种需求而被编写出来的一种工具,对于工具做到善加利用就可以.当然,要做到善加利