Git安装与配置
下面笔者将从最基本的Git配置进行讲解。
Git基本配置
在Mac下,Git的安装在“搭建高效的开发环境”一章中已经讲解了,这里不再赘述。
在安装好Git以后,可以在终端中查看Git的版本,代码如下所示。
- ➜ ~ git --version
- git version 2.6.2
如果你之前已经使用过Git,那么可以通过以下代码查看当前的Git配置信息。
- ➜ XXXXXXXXX git:(master) git config --list
- user.name=徐宜生
- user.email=xuyisheng@hujiang.com
- core.repositoryformatversion=0
- core.filemode=true
- core.bare=false
- core.logallrefupdates=true
- core.ignorecase=true
- core.precomposeunicode=true
- remote.origin.url=https://github.com/xuyisheng/XXXXXXXXX.git
- remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
- branch.master.remote=origin
- branch.master.merge=refs/heads/master
以下信息显示了当前一个Git项目中的相关配置,当然你也可以通过以下指令显示所有Git项目通用的配置信息。
- ➜ ShortcutHelper git:(master) git config --list --global
- user.name=徐宜生
- user.email=xuyisheng@hujiang.com
或者你也可以通过指定的配置名来获取单独的配置信息,指令如下所示。
- ➜ ShortcutHelper git:(master) git config user.name
- 徐宜生
通过上面的这些指令可以查看当前的Git配置。如果你还没有对Git进行配置,那么需要先对Git的Global参数进行基本的配置后才能使用。类似于一般网站的注册,配置参数的时候,可以指定一个配置进行参数设定(以键值对的形式)或者多个参数进行同时设定,代码如下所示。
- ➜ ~ git config --global user.name xys
- ➜ ~ git config --global --add user.name xys user.email xxx@xx.com
顺便提一下,如果你要删除一个配置,可以使用以下指令。
- ➜ ~ git config --global --unset user.name xys
与Linux的设计思想一样,Git也是把所有的配置都保存为文件。那么Git的配置文件在哪里呢?随便打开一个Git项目,显示其所有文件。
- ➜ XXXXXXXXX git:(master) ll -a
- total 88
- drwxr-xr-x 18 xuyisheng staff 612B 12 7 14:51 .
- drwxr-xr-x 13 xuyisheng staff 442B 12 10 18:12 ..
- drwxr-xr-x 13 xuyisheng staff 442B 12 12 17:52 .git
- ……
我们可以发现一个.git的隐藏文件夹。进入这个文件夹,打开其中的config文件。
- [core]
- repositoryformatversion = 0
- filemode = true
- bare = false
- logallrefupdates = true
- ignorecase = true
- precomposeunicode = true
- [remote "origin"]
- url = https://github.com/xuyisheng/XXXXXXXXXX.git
- fetch = +refs/heads/*:refs/remotes/origin/*
- [branch "master"]
- remote = origin
- merge = refs/heads/master
- [user]
- email = git
在这里保存了一个Git项目的所有配置信息,而个人相关的配置信息都保存在Git的个人配置中。
配置别名Alias
这个功能在Shell命令中是很常用的,开发者可以根据自己的开发习惯来给一些指令起一个简称或者别名(Alias)以取代原本比较复杂的指令。
- git config --global alias.st status
通过以上所示的配置就可以使用st来取代status指令了。当然,这只是一个示例,开发者通常会把一些比较复杂但又常用的指令来取别名。
这里笔者找到了一个关于Git log的比较好的Alias,代码如下所示。
- git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
通过这个Alias就可以显示出比较清晰的Log信息,笔者的一个项目的使用效果如图2.2所示。
图2.2 通过Alias显示Log
这样通过一个简单的Alias指令lg,就可以显示出非常详细、有用的Log信息。读者可以根据自身的使用习惯,不断完善自己的Alias,提高输入效率。通过终端的快速提示即使不使用Alias,基本的命令也可以非常快地输入。因此如何使用Alias,还是要看个人的使用习惯决定。一般来说,笔者建议将一些比较长的、不常用的指令通过Alias进行简化。而基本的add、commit等指令,直接通过终端的提示就可以了,不需要额外增加Alias的记忆成本。
