Git 能够识别的配置项被分为了两大类:客户端和服务器端,其中大部分基于你个人工作偏好,属于客户端配置。尽管有数不尽的选项,但我只阐述 其中经常使用或者会对你的工作流产生巨大影响的选项,如果你想观察你当前的 Git 能识别的选项列表,请运行
$ git config --help
git config
的手册页(译注:以man命令的显示方式)非常细致地罗列了所有可用的配置项。
core.editor
Git默认会调用你的环境变量editor定义的值作为文本编辑器,如果没有定义的话,会调用Vi来创建和编辑提交以及标签信息, 你可以使用core.editor
改变默认编辑器:
$ git config --global core.editor emacs
现在无论你的环境变量editor被定义成什么,Git 都会调用Emacs编辑信息。
commit.template
如果把此项指定为你系统上的一个文件,当你提交的时候, Git 会默认使用该文件定义的内容。例如:你创建了一个模板文件$HOME/.gitmessage.txt
,它看起来像这样:
subject line
what happened[ticket: X]
设置commit.template
,当运行git commit
时, Git 会在你的编辑器中显示以上的内容, 设置commit.template
如下:
$ git config --global commit.template $HOME/.gitmessage.txt
$ git commit
然后当你提交时,在编辑器中显示的提交信息如下:
subject line
what happened[ticket: X]# Please enter the commit message for your changes. Lines starting# with '#' will be ignored, and an empty message aborts the commit.# On branch master# Changes to be committed:# (use "git reset HEAD ..." to unstage)## modified: lib/test.rb#~~".git/COMMIT_EDITMSG" 14L, 297C
如果你有特定的策略要运用在提交信息上,在系统上创建一个模板文件,设置 Git 默认使用它,这样当提交时,你的策略每次都会被运用。
core.pager
core.pager指定 Git 运行诸如log
、diff
等所使用的分页器,你能设置成用more
或者任何你喜欢的分页器(默认用的是less
), 当然你也可以什么都不用,设置空字符串:
$ git config --global core.pager ''
这样不管命令的输出量多少,都会在一页显示所有内容。
user.signingkey
如果你要创建经签署的含附注的标签(正如第二章所述),那么把你的GPG签署密钥设置为配置项会更好,设置密钥ID如下:
$ git config --global user.signingkey <gpg-key-id>
现在你能够签署标签,从而不必每次运行git tag
命令时定义密钥:
$ git tag -s <tag-name>
core.excludesfile
正如第二章所述,你能在项目库的.gitignore
文件里头用模式来定义那些无需纳入 Git 管理的文件,这样它们不会出现在未跟踪列表, 也不会在你运行git add
后被暂存。然而,如果你想用项目库之外的文件来定义那些需被忽略的文件的话,用core.excludesfile
通知 Git 该文件所处的位置,文件内容和.gitignore
类似。
help.autocorrect
该配置项只在 Git 1.6.1及以上版本有效,假如你在Git 1.6中错打了一条命令,会显示:
$ git com
git: 'com' is not a git-command. See 'git --help'.Did you mean this?
commit
如果你把help.autocorrect
设置成1(译注:启动自动修正),那么在只有一个命令被模糊匹配到的情况下,Git 会自动运行该命令。
!爆享折扣!
▼▼▼ 原价129, 今日拼团仅需 ¥99! 新人专享首单限时优惠 ¥19.9!!! 但! 仅限前100个名额! ???