购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 其他方便的设置

程序员大多讨厌重复的工作,所以通常会设置一些方便的配置,以下是我自己在Git上通常会做的方便设置。

1. 更换编辑器

一般来说,Vim是Git默认的编辑器,所以对新手来说,在终端机下使用Git,Vim编辑器恐怕是个绕不过去的坎儿。虽然在3.2节介绍了这个神奇的编辑器如何使用,但对于平常不用,或者用不习惯的人来说还是会觉得很麻烦。

不过还好,不一定非要用Vim,可以在终端机执行以下命令:

$ git config --global core.editor emacs

这样就可以把默认的Vim编辑器换成Emacs了。

其实,除了Vim和Emacs之外,还可以使用Sublime Text、Atom或Visual Studio Code等比较现代的文字编辑器。只需先搜索一下怎样从终端机启动这些应用程式,然后就可以用同样的方法把Vim换掉了。

如果在操作Git的过程中弹出Vim这件事情让你很困扰,那么建议搭配图形界面软件使用。

2. 设置缩写

虽然Git命令不长,但有时懒得打那么多字(如checkout命令就有8个字母),或者有些命令经常会打错(如status命令可能会打成state)。遇到这种状况,可以在Git中设置一些“缩写”,这样就可以少打几个字。只需在终端机执行以下命令:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.st status

设置之后,只需输入git co命令,就可以实现与输入git checkout命令一样的效果;输入git st命令,就可以实现与输入git status命令一样的效果。

此外,还可以再加入一些参数。例如,每次在查看log时,为了看到比较精简的信息,都要输入git log --oneline --graph这么长的命令,而改用Alias设置(如下所示):

$ git config --global alias.l "log --oneline --graph"

以后只需输入git l命令,就可以实现与原来的 --oneline --graph命令一样的效果了:

*   cc200b5 (HEAD -> master) Merge branch 'cat'
|\
| * 0d1d15d (cat) add cat 2
| * 0d392fb add cat 1
|/
* 657fce7 (origin/master, origin/HEAD) add container
* abb4f43 update index page
* cef6e40 create index page
* cc797cd init commit

甚至可以把格式弄得再复杂一点,把Commit的人与时间都加进来:

$ git config --global alias.ls 'log --graph --pretty=format:"%h <%an> %ar %s"'

结尾那个看起来有点复杂的format参数就是用于输出Commit的个别信息,其含义是执行git help log后查阅关于format有关的段落。用起来会像这样:

$ git ls
*   cc200b5 <Eddie Kao> 9 seconds ago Merge branch 'cat'
|\
| * 0d1d15d <Eddie Kao> 18 seconds ago add cat 2
| * 0d392fb <Eddie Kao> 20 seconds ago add cat 1
|/
* 657fce7 <Eddie Kao> 13 days ago add container
* abb4f43 <Eddie Kao> 13 days ago update index page
* cef6e40 <Eddie Kao> 2 weeks ago create index page
* cc797cd <Eddie Kao> 2 weeks ago init commit

这样,即使不使用图形界面工具也可以轻松地查看log。上面这些Alias的设置,也可以直接到~/.gitconfig中修改:

[alias]
co = checkout br = branch
st = status
l = log --oneline --graph
ls = log --graph --pretty=format:"%h <%an> %ar %s"

虽然只是少输入了几个字母,但长期累积下来,减少的输入量也是很惊人的。 oeQYTBZgG5hydwhQ0hX9kkcwmJZbEvTZCJ8OA9O6p60n5xOgWc5V7T8FMnDxPnjP

点击中间区域
呼出菜单
上一章
目录
下一章
×