Git客户端的常用配置

来源:互联网 发布:数据备份方式 编辑:程序博客网 时间:2024/05/22 08:15

Git客户端的基本配置

配置Git

Git使用一系列配置文件保存用户自定义的行为。
它首先查找 /etc/gitconfig 文件,该文件含有系统里美味用户及他们所拥有的仓库的配置值。当你传递 - -system 参数时,Git就会配置该文件
接下来 Git 会查找每个用户的 ~/.gitconfig 文件(或者 ~/.config/git/config 文件)。当你传递 - -global 时,Git就会配置该文件。
最后 Git 会查找当前操作的版本库对应的 Git 目录下的配置文件(.git/config)。这个文件只对该版本库有效。
注意:上述每一层配置文件都会覆盖上一层的配置文件的配置。

配置默认文本编辑器

默认条件下,Git会调用环境变量($VISUAL或 $EDITOR)设置的任意文本编辑器,如果没有设置,会默认调用 vi。可以使用 core.editor来修改默认的编辑器。如将默认编辑器设为vim:

$git config --global core.editor vim

指定提交时默认信息

当用户提交时,Git是会使用 commit.template路径下的文件内容作为提交的默认信息。创建一个 ~/.gitmessage.txt 的模板文件,设置该文件内容作为commit时现实的默认信息:

$git config --global commit.template ~/.gitmessage.txt

配置分页器

该配置项指定 Git 运行诸如 log 和 diff 等命令所使用的分页器。 你可以把它设置成用 more 或者任何你喜欢的分页器(默认用的是 less):

$ git config --global core.pager more

当然也可以设置成空字符串,来关闭该选项。

忽略文件类型

如果想在所有版本库中忽略掉某一类文件,使用core.excludesfile配置。
如对于 OS X系统,可以忽略 .DS_Store类文件,按照以下内容创建一个 ~/.gitignore_global文件:

*~.DS_Store

然后运行:

$git config --global core.excludesfile ~/.gitignorez-global

此后,Git将永远不会管理.DS_Store文件类型。

CRLF问题

即系统不同导致的换行字符不同的问题:
Windows系统使用回车(CR)加换行(LF)结束一行,而Mac和Linux只是用换行一个字符。
Git可以在提交时自动把回车和换行转换成换行,而在检出代码时把换行转换成回车和换行。
Windows 系统上,把 core.autocrlf 设置为true,这样在检出代码时,换行会被转换成回车和换行:

$git config --global core.autocrlf true

如果使用Linux或者Mac系统,当一个以回车加换行为行结束符的文件被不小心引入,可以使用Git修正,将 core.autocrlf 设置为 input:

$git config --global core.autocrlf input

这样,在Git提交时,回车加换行会被自动转换成换行,检出时则不会转换。

如果仅在Windows 下工作,则可以将 core.autocrlf 关掉:

$git config --global core.autocrlf false

Git着色

Git会自动着色很多输出内容,如果你想关闭这一功能,可以使用:

$git config --global color.ui false

这个设置的默认值是 auto,它会着色直接输出到终端的内容;而当内容被重定向到一个管道或文件时,则忽略着色功能。
当然你也可以设置成 always,来忽略掉管道和终端的不同,即在任何情况下着色输出。

如果想指定到那些指令输出会被着色,可以设置color.*,例如设置git branch的输出结果不显色:

$git config --global color.branch false

这种设置的选项与 color.ui 一样,也有true、false和always。

更进一步,上述配置项都有自己的子配置项,可以覆盖父配置项的设置,已达到不同同一输出不同部分的颜色设置。
例如,为了让 diff 的输出信息以蓝色前景、黑色背景和粗体显示,你可以运行:

$git config --global color.diff.meta "blue black bold"

……
Git配置的更多帮助可以查看Git Book之配置Git

原创粉丝点击