git config
git config命令用来设置git的一些配置(包括全局配置和针对单个仓储的配置).git config命令能定义一个仓储的用户信息和用户偏好.
用法
git config user.name <name>
为当前仓储的commit定义作者的名字. 通常我们在这会使用--global这样所有以后的本地的其他的仓储的commit的作者名都设置统一了(--global意味着这是一个全局配置).
git config --global user.name <name>
为当前机器上当前用户的以后所有的仓储的所有commit定义了作者名.
git config --global user.email <email>
为当前机器上当前用户的以后所有的仓储的所有commit定义了作者的邮箱.
git config --global alias.<alias-name> <git-command>
定义git命令的简写.
git config --system core.editor <editor>
定义命令(如commit命令)的文本编辑器 --system代表时系统级别的配置作用于这台电脑上的所有用户.
git config --global --edit
用文本编辑器打开当前机器上当前用户的配置文件手工进行修改.
讨论
所有的配置选项都存储在纯文本文件中, git config命令只不是一种方便的命令行接口. 通常情况下, 在一台全新的机器一到手我们会先使用--global来进行一些全局设置, 然后再开始工作.
Git把配置文件存储在三个不同的文件中, 一个作用于独立仓储, 一个作用于当前用户, 一个作用于整个系统:
- <repo>/.git/config - 这个是当前仓储的配置
- ~/.gitconfig - 用户所属的配置. 用--global的配置存放在这
- $(prefix)/etc/gitconfig - 系统级别的配置
当这3个文件相冲突的时候. 当前仓储的配置覆盖用户所属的配置, 用户所属的配置覆盖系统级别的配置. 打开一个配置文件, 你会看到如下内容:
[user]
name = John Smith
email = john@example.com
[alias]
st = status
co = checkout
br = branch
up = rebase
ci = commit
[core]
editor = vim
你可以在这个文本中直接修改配置, 效果和git config一样.
例子
安装完Git后第一件事就是设置name/email. 一个典型的设置如下:
# 告诉Git你是谁
git config --global user.name "John Smith"
git config --global user.email john@example.com
# 设置你喜欢的文本编辑器
git config --global core.editor vim
# 添加一些git命令的别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.up rebase
git config --global alias.ci commit