本文参考自:https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git
自定义Git
8.1 配置Git
Git使用一系列配置文件来保存自定义的行为。
1,/etc/gitconfig --system选项(git config) -- 系统里每位用户及他们所拥有的仓库的配置值。
2,~/.gitconfig(~/.config/git/config) --global选项(git config) -- 每位用户的配置文件。
3,.git/config -- 正在操作的版本库对应的Git目录。
注:
1,每层的配置都会覆盖掉上一层次的配置。 本地 > 全局 > 系统
8.2 客户端基本配置
1,设置git对应的文本编辑器 -- (默认:$VISUAL或$EDITOR)
git config --global core.editor vi -- 设置为vi编辑器
2,设置git提交的默认信息
git config --global commit.template filepath --设置filepath文件
3,设置git分页格式
git config --global core.pager '' -- 设置git所有内容显示在一页。
可选选项:more , less , ''
4,创建经签署的含附注的标签
git config --global user.signingkey <gpg-key-id> --设置GPG签署密钥为配置项
5,设置全局生效的无需纳入Git管理的文件的模板
git config --global core.excludesgfile ~/.gitignore_global --设置全局生效的忽略文件
注:1,本地项目.gitignore文件设置无需纳入Git管理的文件的模板
2,.DS_Store文件: Mac OS保存文件夹的自定义属性的隐藏文件。
6,设置模糊匹配到后Git自动运行命令前的时间
git config --global help.autocorrect 50 --设置5秒时间
注:1,help.autocorrect 接受一个代表十分之一秒的整数。
8.3 Git着色
1,关闭Git自动着色功能
git config --global color.ui false
注:1,Git会自动着色大部分输出到终端内容,当前选项的默认值为auto
2,当内容被重定向到一个管道或文件时,则忽略着色功能。
3,always选项:在任何情况下着色输出。 -- 但比较少用,如果你想在被重定向的输出中插入颜色码,可以传递 --color 标志给 Git 命令来强制它这么做
2,设置具体的着色命令以及怎么着色
git config --global color.diff false -- 设置diff命令不着色
注:1,当前配置命令的选项为 true,false,always
git config --global color.diff.meta "blue black bold" -- 设置diff输出以蓝色前景,黑色背景和粗体显示
注:1,颜色选项:normal,black,red,green,yellow,blue,magenta(品红),cyan(青色),white
2,字体选项:blod,dim(暗淡),ul(下划线),blink(闪烁),reverse(交换前景色与背景色)
8.4 外部的合并与比较工具
8.5 格式化与多余的空白字符
1,Git 可以在你提交时自动地把回车和换行转换成换行,而在检出代码时把换行转换成回车和换行
git config --global core.autocrlf true -- 适用于Windows,Linux或Mac交互
2,Git 可以在你提交时自动地把回车和换行转换成换行
git config --global core.autocrlf input -- 适用于Linux或Mac
3,取消该功能
git config --global core.autocrlf false -- 适用于只有Windows
4,Git探测和修正多余空白字符
默认打开的选项:
blank-at-eol:查找行尾的空格
blank-at-eof:盯住文件底部的空格
space-before-tab:警惕行头tab前面的空格
默认关闭的选项:
indent-with-non-tab:揪出以空格而非Tab开头的行
tab-in-indent:监视在行头表示缩进的Tab
cr-at-eol:告诉Git忽略行尾的回车
1,设置core.whitespace,让 Git 按照你的意图来打开或关闭以逗号分割的选项。要想关闭某个选项,你可以在输入设置选项时不指定它或在它前面加个 -。
git config --global core.whitespace trailing-space,space-before-tab,indent-with-non-tab -- 打开除 cr-at-eol 之外的所有选项:
2,如果正准备应用的补丁存有特定的空白问题,让Git在应用补丁时发出警告:
git apply --whitespace=warn <patch>
3,让 Git 在打上补丁前自动修正此问题
git apply --whitespace=fix <patch>
4,提交了含有空白问题的文件,但是还没有推送到上游
git rebase --whitespace=fix -- Git 在重写补丁时自动修正它们