前言
大家应该都知道用表情符号规范git commit
内容的一个很火很好玩的项目叫做Gitmoji
。
Gitmoji是一个开源项目,专门规定了在 Github
提交代码时应当遵循的emoji
规范。
但是对于初学者,面对这么多的图标,经常不知道图标对应着什么意思,我就想有没有什么方法帮助我们快速查阅这些图标对应的意思,方便刚入门的中文开发者更好上手呢?这就是本文的初衷。
在汇总了自己以及网络上的方法后,有了本文这篇方便查阅gitmoji
的指南,利用gitmoji
帮助我们更好的git commit
。
1. 查阅方法:脚本法
可以把这些图标和他们对应的意思都做成一个脚本,这样想要git commit
的时候执行一下脚本就会弹出提示信息不就行了吗?
受到hooj0/git-emoji-guide项目的启发(介绍博客在git-emoji-guide中),里面有一个git-emoji-list.md
,我想的是把它修改为一个emoji.sh
的脚本,给这个脚本添加可执行权限后在终端中打印提示信息。
1.1 利用 VS Code 编辑多行文本快速写脚本文件
在~/Documents
文件夹目录下执行gedit ./emoji.sh
新建一个文件
把git-emoji-list.md
的内容复制到emoji.sh
后用VS Code
打开。
考虑到脚本中的输出方式是echo “输出内容”
,这就要求要在这么多行的最前面都加上echo "
,在多行的最后面加上"
。并且每一行中的两个小撇符号都要修改为'
符号,不然无法正常输出。
需求明确后,参考博客vscode同时编辑多处的三种方法操作:
第一步,每行最前面都加上
echo "
:按shift+alt
,再使用鼠标拖动,出现竖直的列光标,同时可以选中多列
写入echo "
后效果如下第二步,每行最后面加上
"
:选中这些行,按shift+alt+i
,可以在每行末尾出现光标
写入"
后,效果如下第三步,每一行中的第一次出现的
小撇符号
都修改为'
符号:按住alt
,用鼠标左键点击,可以出现多个光标,输入的内容可以在光标处同时增加。(这里需要每一行都去点一下,比较繁琐我就不具体截图说明了,看原博客即可理解)第四步,每一行中的第二次出现的
小撇符号
都修改为'
符号:操作同第三步
1.2 给脚本添加可执行权限
之后保存文件,添加可执行权限并运行即可看到提示信息(按下Tab
键可以补全文件名):
$ sudo chmod +x emoji.sh
$ ./emoji.sh
1.3 修改环境变量 PATH 使脚本在所有路径下都可以执行(全局执行)
此时emoji.sh
只能在当前路径下运行,如果想要把它设置为全局运行的一个脚本,有许多种方式,我参考博客Ubuntu:配置环境变量的两种常用方法( .bashrc 和 /etc/profile )和ubuntu设置全局脚本_ubuntu环境变量的三种设置方法,介绍两种方法:
- 第一种,直接把
emoji.sh
复制一份到/usr/local/bin/
下:sudo cp ~/Documents/emoji.sh /usr/local/bin/
。以后在任意路径下都可以直接执行emoji.sh
。 - 第二种,把当前的
/home/zqchen/Documents/
路径添加到环境变量PATH
中:编辑/home/zqchen/.bashrc
文件,在末尾添加一行:export PATH=/home/zqchen/Documents/:$PATH
之后执行source ./bashrc
使之生效,也可以起到第一种方法的效果。
这里先占个坑,以后有时间我会专门写一篇介绍添加环境变量的临时和永久的方法以及开机运行各个重要脚本的顺序。
2. 查阅方法:利用 Git 本身配置 git commit 的个性化提示信息
第二种看到提示信息的方法是我发现的另外一个项目GIT颜文字COMMIT(CLI命令行模式),使用的Github
仓库为:使用git颜文字美化commit,这个项目利用了emojify这一脚本工具(可以使得命令行中显示图标而非图标的符号代码),通过利用git config
命令,新建一个专门写有commit提示信息的文本文件
,完成git commit
的提示的。
该方法的另外两个参考来源如下:
- Github Gist - Using Git Commit Message Templates to Write Better Commit Messages
- Git book - Customizing Git - Git Configuration
2.1 新建个性化提示信息的文本文件 gitmessage.txt
先在/home/zqchen/
下执行gedit ./.zqchen_gitmessage.txt
生成一个空的文本文件,之后去cangyan/git-emoji-template项目中把commit.template
文件中的内容都复制到.zqchen_gitmessage.txt
文件中。
不知道是不是Ubuntu20.04
对图标显示做了新支持的原因,我这里不需要利用emojify
脚本工具就可直接显示图标,于是我就没有参照原项目下载emojify
。
2.2 进行 git config 的配置
git config --global commit.template /home/zqchen/.zqchen_gitmessage.txt
执行这句命令其实就是将如下内容写入到/home/zqchen/.gitconfig
文件:
这样在终端中执行git commit
并弹出nano
编辑器后,Git
工具就知道去哪里找到用户自己写的提示信息并将其显示出来了。效果如下:
3. 查阅方法:使用 gitmoji-cli 工具
Github
上Gitmoji
的创建者本人发起的一个完整的项目gitimoji-cli,这个项目也能实现很好的提示功能,但是功能太多还要下载npm等工具我就没有用。
4. 查阅方法:类似脚本法
后来发现hooj0/git-emoji-guide项目中的git-emoji-list.md
文件作者的本意应该是这样用的(可以起到和我把它修改为一个脚本相同的功能):先将git-emoji-list.md
放入PATH
环境变量指向的位置,方便需要查看的时候能直接访问查看。
我选择执行sudo cp /home/zqchen/Documents/git-emoji-list.md /usr/local/bin/
,把git-emoji-list.md
复制一份放到/usr/local/bin/
下面,因为/usr/local/
一般存放的都是用户自己下载的软件之类的,如果之后自己不想要了可以放心删除。
$ alias emoji='cat /usr/local/bin/git-emoji-list.md'
$ emoji
alias
命令是给一行冗长的命令起一个别名,参考ubuntu——cat和输出命令详解,发现cat
命令有一个用法是直接打开一个文件(并没有进入编辑状态,是直接读取输出),效果和我上面修改成脚本的效果是一样的:
博客Ubuntu学习之alias命令提到这里的alias
重启后会失效,可以通过把这条命令写入/home/user/.bashrc
中达到alias永久化
的目的。如果不想使用了可以unalias emoji
去除这一别名。
5. 补充:在 VS Code 中直接进行 git add 和 git commit
如博客Ubuntu下git commit后会进入类似vim界面,不知道怎么操作所言,直接在Ubuntu
的终端下git commit
后进入的是nano
编辑器的界面。其实也可以利用VS Code
来完成这一系列操作。
暂不赘述,放上几个链接以供参考:
- Using Version Control in VS Code
- How To Use GitHub with VS Code in 2020 | Commit & Push | Part 1
- How To Use GitHub with VS Code in 2020 | Amazing New Feature | Part 6
6. PS:
- 我可真菜呀...别人造好了的*我都不会用,还要自己再造一个功能更差的*...
- 我的博客很啰嗦是因为我主要是给自己回忆看的(没有人看也无所谓啦,当然更希望文章可以给大家带来一些参考价值~),因为记性太差,不写详细一点根本想不起来...
- 多了解一下
Github Gist
这项服务,以前没有接触过
PPS:本文同步发表于**** - 夏小正的鲜小海 - 使用Gitmoji进行git commit的快速查阅指南。