一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。Git有一个工具(实际是
git-config
命令,只不过可以通过 git 加一个名字来呼叫此命令)被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。
1. 配置文件存储位置
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置。若使用git config
时用--system
选项,读写的就是这个文件;~/.gitconfig
文件:用户目录下的配置文件只适用于该用户。若使用git config
时用--global
选项,读写的就是这个文件;- 当前项目的 Git 目录中的配置文件(也就是工作目录中的
.git/config
文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config
里的配置会覆盖/etc/gitconfig
中的同名变量;
在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig
文件。主目录即 $HOME
变量指定的目录,一般都是 C:\Documents and Settings\$USER
。此外,Git 还会尝试找寻 /etc/gitconfig
文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。
2. 配置用户信息
当你安装Git后首先要做的事情是设置你的用户名称和邮箱地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
1 2 |
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com |
你只需要做一次这个设置,如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。
3. 配置编辑器
Git 需要你输入一些额外消息的时候,默认会使用操作系统指定的默认编辑器,一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
1 |
$ git config --global core.editor emacs |
4. 配置密码
如果我们在安装 Git 的时候设置了密码,那么当我们做 Clone 和 Push 等操作的时候就会要求我们输入密码。显然,如果每次都这么做就太麻烦了,我们可以在配置文件中设置密码或时效已解决这样的问题:
1 2 |
$ git config --global credential.helper password # 存储密码 $ git config --global credential.helper 'cache --timeout 3600' # 每次输入密码将保存3600秒,可设置为其它值 |
5. 配置比较工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具:
1 |
$ git config --global merge.tool vimdiff # 设置vimdiff比较工具 |
Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。当然,你也可以指定使用自己开发的工具。
6. 查看配置
如果你想要查看配置,可以使用git config
指令。config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system->global->local 底层配置会覆盖顶层配置 分别使用--system/global/local 可以定位到配置文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ git config --system --list # 查看系统配置 $ git config --global --list # 查看当前用户配置 $ git config --local --list # 查看当前仓库配置 $ git config --list # 查看全部配置 # 我们执行最后一条指令 $ git config --list core.symlinks=false core.autocrlf=true core.fscache=true color.diff=auto color.status=auto color.branch=auto color.interactive=true |
有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig
和 ~/.gitconfig
),不过最终 Git 实际采用的是最后一个。
也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面(git config {key})即可:
1 2 |
$ git config user.name epins |
7. 获取帮助
可以使用以下三种方法获得任何 Git 命令的手册页(manpage)帮助信息:
1 2 3 |
$ git help <verb> $ git <verb> --help $ man git-<verb> |