­

使用Gitmoji進行git commit的快速查閱指南

前言

大家應該都知道用表情符號規範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打開。

image

考慮到腳本中的輸出方式是echo 「輸出內容」,這就要求要在這麼多行的最前面都加上echo ",在多行的最後面加上"。並且每一行中的兩個小撇符號都要修改為'符號,不然無法正常輸出。

需求明確後,參考部落格vscode同時編輯多處的三種方法操作:

  • 第一步,每行最前面都加上echo ":按shift+alt,再使用滑鼠拖動,出現豎直的列游標,同時可以選中多列
    image
    寫入echo "後效果如下
    image

  • 第二步,每行最後面加上":選中這些行,按shift+alt+i,可以在每行末尾出現游標
    image
    寫入"後,效果如下
    image

  • 第三步,每一行中的第一次出現的小撇符號都修改為'符號:按住alt,用滑鼠左鍵點擊,可以出現多個游標,輸入的內容可以在游標處同時增加。(這裡需要每一行都去點一下,比較繁瑣我就不具體截圖說明了,看原部落格即可理解)

  • 第四步,每一行中的第二次出現的小撇符號都修改為'符號:操作同第三步
    image

1.2 給腳本添加可執行許可權

之後保存文件,添加可執行許可權並運行即可看到提示資訊(按下Tab鍵可以補全文件名):

$ sudo chmod +x emoji.sh 
$ ./emoji.sh

image

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文件:
image

這樣在終端中執行git commit並彈出nano編輯器後,Git工具就知道去哪裡找到用戶自己寫的提示資訊並將其顯示出來了。效果如下:

image

3. 查閱方法:使用 gitmoji-cli 工具

GithubGitmoji的創建者本人發起的一個完整的項目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命令有一個用法是直接打開一個文件(並沒有進入編輯狀態,是直接讀取輸出),效果和我上面修改成腳本的效果是一樣的:

image

部落格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的快速查閱指南