前言

大家应该都知道用表情符号规范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的提示的。

该方法的另外两个参考来源如下:

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来完成这一系列操作。

暂不赘述,放上几个链接以供参考:

6. PS:

  • 我可真菜呀...别人造好了的轮子我都不会用,还要自己再造一个功能更差的轮子...
  • 我的博客很啰嗦是因为我主要是给自己回忆看的(没有人看也无所谓啦,当然更希望文章可以给大家带来一些参考价值~),因为记性太差,不写详细一点根本想不起来...
  • 多了解一下Github Gist这项服务,以前没有接触过

PPS:本文同步发表于CSDN - 夏小正的鲜小海 - 使用Gitmoji进行git commit的快速查阅指南。

使用Gitmoji进行git commit的快速查阅指南的更多相关文章

  1. Git学习01 --git add, git commit , git log ,git status, git reset --hard, head

    Git官方提供的快速入门教程:https://try.github.io/levels/1/challenges/1 特点:Git极其强大的分支管理:分布式版本 集中式版本控制系统,版本库是集中存放在 ...

  2. 如何写好git commit message

    1.触发事件 我有这样一个版本库,里面包含两个学习用的练习项目:BookStore(以下简称BS)和PictureFriend(以下简称PF) 我在更改PF以后,未进行提交,同时又到BS中优化了一下文 ...

  3. 如何解决无法成功git commit 和git push

    如何解决无法成功git commit 和git push 20155324王鸣宇.20155314刘子健 git add . 成功了 但是git commit无法实现. 我先尝试了卸载git 重新下载 ...

  4. Git Commit 标准化

    1 前言Git Commit Message 应该清晰明了,要用精简的语言说明本次提交的目的,其主要作用是为了后续的搜索.版本的回滚.合并冲突的追溯等操作. 我们在开发时一直以来对 Git Commi ...

  5. git commit的规范

    https://www.yuque.com/fe9/basic/nruxq8#6c228def 制定一个 git commit 信息的提交规范是开发团队工作流必不可少的环节.试想一下,如果查看主分支上 ...

  6. 优化 Git Commit Message

    目前很多项目都是通过 Git 进行管理的,Git 每次提交代码的过程中 提交说明 commit message 是必须的.但仅仅必须是不够的,好的提交说明可以帮助我们提高项目的整体质量. 作用与优点 ...

  7. 规范git commit提交记录和版本发布记录

    在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...

  8. Git Commit Message 规范

    今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...

  9. git分支,git commit,git流程

    1. git分支命令规范 1. Master 主分支 2. Dev 开发分支 3. Feature 功能分支(例如:feature-x) 4. Release 预发布分支(例如:release-1.2 ...

随机推荐

  1. NOIP 模拟 $20\; \rm 玩具$

    题解 \(by\;zj\varphi\) 一道概率与期望好题 对于一棵树,去掉根后所有子树就是一个森林,同理,一个森林加一个根就是一棵树 设 \(f_{i,j}\) 为有 \(i\) 个点的树,高度为 ...

  2. C# 通过反射实现对象映射:将2个属性相近的对象相互转换

    前言 我们在编程过程中,经常需要将一个对象转成另一个对象(一般称为对象映射). 比如我们有2个类: //第1个类 CLS1 class CLS1 { public int i {get; set;} ...

  3. 十一:JavaWeb中的监听器(二)

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

  4. hive简单数据分析

    简单查询分析 select brand_id from user_log limit 10; -- 查看日志前10数据 好像也没啥,和SQL相同,,limit取前多少条  , as取别名 查询条数统计 ...

  5. 修改IDEA默认模板

    然后找到你想要修改的模板就可以了

  6. CSS定位(慕课网学习笔记)

    定位模型 static自然模型 relative相对定位模型 absolute绝对定位模型 fixed固定定位模型 sticky磁铁定位模型 possition之static(默认的设置)(静态定位. ...

  7. vue@cli3 项目模板怎么使用public目录下的静态文件,找了好久都不对,郁闷!

    作为图片最好放在static目录下,但是vue@cli3没有static,网上都说放在public目录下,行,那就放吧,可问题是图片放了怎么使用 第一次尝试 肯定用绝对路径这就不说了,用相对路径,we ...

  8. 关于python使用的那些事儿

    时间:2019-04-11 整理:PangYuaner 标题:Python获取并输出当前日期时间 地址:https://www.cnblogs.com/kerwinC/p/5760811.html 实 ...

  9. 求方程 p+q+r+s+t=pqrst 的全体自然数解(约定p<=q<=r<=s<=t)

    解:方程左右的表达式分别记为u和v. 由题设有5t>=u. 0本来是不算入自然数的,现在的趋势是把0也算作自然数. 若p=0,则v=0,为使得u=0成立,q.r.s.t都必需为0. 这样就得到方 ...

  10. 阿里云服务器部署mongodb

    在阿里云上买了个服务器,部署mongodb遇到一些坑,解决办法也是从网上搜集而来,把零零碎碎的整理记录一下. 服务器是:Alibaba Cloud Linux 下载安装 mongodb官网下载实在是太 ...