1 Star 0 Fork 2

welnee / git-emoji-guide

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

Git Commit emoji Guide  提交表情使用指北

前言

gitmoji是一个标准化和解释在GitHub提交消息上使用emoji的倡议。 gitmoji 是一个开源项目,专门规定了在 github 提交代码时应当遵循的 emoji 规范

git commit上使用emoji提供了一种简单的方法,仅通过查看所使用的表情符号来确定提交的目的或意图

概述

在执行 git commit 指令时使用 emoji图标为本次提交添加一个特别的图标, 这个本次提交的记录很容易突出重点,或者说光看图标就知道本次提交的目的。这样就方便在日后查看历史提交日子记录中快速的查找到对于的提交版本。由于有很多不同的表情符号,表情库更新后,没有一个可以帮助更轻松地使用表情符号的中文表情库列表。所以这里主要列出 gitmoji项目中规定的emoji规范的表情符号列表。

gitmoji 表情库

emoji 表情 emoji 代码 commit 说明
:art: (调色板) :art: 改进代码结构/代码格式
:zap: (闪电)
:racehorse: (赛马)
:zap:
:racehorse:
提升性能
:fire: (火焰) :fire: 移除代码或文件
:bug: (bug) :bug: 修复 bug
:ambulance: (急救车) :ambulance: 重要补丁
:sparkles: (火花) :sparkles: 引入新功能
:memo: (备忘录) :memo: 撰写文档
:rocket: (火箭) :rocket: 部署功能
:lipstick: (口红) :lipstick: 更新 UI 和样式文件
:tada: (庆祝) :tada: 初次提交
:white_check_mark: (白色复选框) :white_check_mark: 增加测试
:lock: (锁) :lock: 修复安全问题
:apple: (苹果) :apple: 修复 macOS 下的内容
:penguin: (企鹅) :penguin: 修复 Linux 下的内容
:checkered_flag: (旗帜) :checked_flag: 修复 Windows 下的内容
:robot: (Android机器人) :robot: 修复Android上的某些内容。
:green_apple: (绿苹果) :green_apple: 解决iOS上的某些问题。
:bookmark: (书签) :bookmark: 发行/版本标签
:rotating_light: (警车灯) :rotating_light: 移除 linter 警告
:construction: (施工) :construction: 工作进行中
:green_heart: (绿心) :green_heart: 修复 CI 构建问题
:arrow_down: (下降箭头) :arrow_down: 降级依赖
:arrow_up: (上升箭头) :arrow_up: 升级依赖
:pushpin: (图钉) :pushpin: 将依赖关系固定到特定版本。
:construction_worker: (工人) :construction_worker: 添加 CI 构建系统
:chart_with_upwards_trend: (上升趋势图) :chart_with_upwards_trend: 添加分析或跟踪代码
:recycle: (循环箭头) :recycle: 重构代码。
:hammer: (锤子) :hammer: 重大重构
:heavy_minus_sign: (减号) :heavy_minus_sign: 减少一个依赖
:whale: (鲸鱼) :whale: Docker 相关工作
:heavy_plus_sign: (加号) :heavy_plus_sign: 增加一个依赖
:wrench: (扳手) :wrench: 修改配置文件
:globe_with_meridians: (地球) :globe_with_meridians: 国际化与本地化
:pencil2: (铅笔) :pencil2: 修复 typo
:hankey: (瞪眼) :hankey: 编写需要改进的错误代码。
:rewind: (双左箭头) :rewind: 恢复更改。
:twisted_rightwards_arrows: (双合并箭头) :twisted_rightwards_arrows: 合并分支。
:package: (箱子) :package: 更新编译的文件或包。
:alien: (面具) :alien: 由于外部API更改而更新代码。
:truck: (面包车) :truck: 移动或重命名文件。
:page_facing_up: (文档) :page_facing_up: 添加或更新许可证。
:boom: (爆炸) :boom: 介绍突破性变化。
:bento: (装满餐盘) :bento: 添加或更新资产。
:ok_hand: (OK手势) :ok_hand: 由于代码审查更改而更新代码。
:wheelchair: (坐姿) :wheelchair: 提高可访问性。
:bulb: (灯泡) :bulb: 记录源代码。
:beers: (干杯) :beers: 醉生梦死的写代码。
:speech_balloon: (提示栏) :speech_balloon: 更新文字和文字。
:card_file_box: (卡片盒子) :card_file_box: 执行与数据库相关的更改。
:loud_sound: (有声喇叭) :loud_sound: 添加日志。
:mute: (静音喇叭) :mute: 删除日志。
:busts_in_silhouette: (两个人头) :busts_in_silhouette: 添加贡献者。
:children_crossing: (小盆友) :children_crossing: 改善用户体验/可用性。
:building_construction: (吊车) :building_construction: 进行架构更改。
:iphone: (手机) :iphone: 致力于响应式设计。
:clown_face: (小丑) :clown_face: 嘲笑事物。
:egg: (彩蛋) :egg: 添加一个复活节彩蛋。
:see_no_evil: (蒙眼猴子) :see_no_evil: 添加或更新.gitignore文件。
:camera_flash: (照相机) :camera_flash: 添加或更新快照。

Windows Emoji 安装特殊符号更新

如果你的电脑是Windows系统无法显示表情符号,那需要Windows 7 字体库中将安装有 Segoe UI 符号 5.01 版本。下载地址:KB2729094

安装完成后,可以进入测试地址进行测试

 Windows 8 Emoji Segoe UI

效果展示

gitmoji的使用效果,可以去 github moji 看看使用 emoji后效果如下:

1530333939856

快速入门

快捷方式

将上面的gitmoji 表情库内容放入一个普通的文本文件 git-emoji-list.md,将文件放入到path环境变量指向的位置,方便需要查看的时候能直接访问查看。

$ alias emoji='cat $PATH/git-emoji-list.md'
$ emoji

使用方法

git commit时直接在注释中写入表情符号代码部分即可完成表情emoji的提交。

举个栗子

$ git commit -m ':tada: init commit'
$ git commit -m 'added image to repo :art:'

效果展示

1530336428603

格式与规则

git commit 时,提交信息遵循以下格式:

:emoji1: :emoji2: 不超过 50 个字的摘要,简短描述本次提交,首字母大写,句末不要加句号
提交信息主体,可以详细的信息
引用相关 issue 或 PR 、jira的编号<#110>

简短格式示例

$ git commit -m ":tada: Initialize Repo"

完整格式示例

$ git commit -m ':sparkles: Add characters count for commit title (#101) \
:sparkles: Add title characters count \
:white_check_mark: Update spec \
:bookmark: Bump version to 1.8.8 issue #101 '

github上注释效果如下:

1530336606094

github在网页上使用emoji

在github上提交注释,也可以通过其他项目快速查找emoji表情符号。 Emoji searcher 列举出了上百上千的表情符号。

1530344080013

或者在浏览器安装插件的方式

screenshot

但很多符号不适合软件程序界使用,软件行业的工程师还是使用 gitmoji

emojify 在命令行中显示 emoji

默认情况下,在命令行中并不会显示出 emoji, 仅显示 emoji 的符号代码或空字符符号。

1530336758319

要解决这种情况,可以使用 emojify 工具使得在命令行也可显示 emoji表情, 它是一个 shell 脚本,安装与使用都很简单,在 这里 查看官方操作手册如何安装与使用。

安装 emojify

基本上emojify替换许多服务(如GitHub)用于表情符号原始字符的表情符号别名。emojify是一个shell脚本,所以把它放在某个地方并确保它被添加到你的$PATH变量中。

$ sudo sh -c "curl https://raw.githubusercontent.com/mrowa44/emojify/master/emojify -o /usr/local/bin/emojify && chmod +x /usr/local/bin/emojify"

Win7 下安装姿势

安装了 git bash 或者 其他第三方的Linuxshell工具

$ curl https://raw.githubusercontent.com/mrowa44/emojify/master/emojify -o /usr/bin/emojify

如果安装后不能使用,可以将路径配置在环境变量的Path变量中。

PATH=/usr/bin/

使用 emojify

$ emojify "Hey, I just :raising_hand: you, and this is :scream: , but here's my :calling: , so :telephone_receiver: me, maybe?"

被替换成表情
1530341529384

在使用 git bash 的时候,设置替换日志中的表情符号代码

$ git log --oneline --color | emojify | less -r

或者设置git log命令别名

$ alias gitlog='git log --oneline --color | emojify | less -r'

$ gitlog 

效果如下:
after

gitmoji-cli交互式客户端

gitmoji-cli

交互式客户端是方便在终端使用 emoji符号,开源项目提供了终端工具 gitmoji-cli

安装

需要使用npm,如果没有安装需要单独安装npm工具

$ npm i -g gitmoji-cli

使用

$ gitmoji --help
A gitmoji interactive client for using gitmojis on commit messages.

  Usage
    $ gitmoji
  Options
    --init, -i      Initialize gitmoji as a commit hook
    --remove, -r    Remove a previously initialized commit hook
    --config, -g    Setup gitmoji-cli preferences.
    --commit, -c    Interactively commit using the prompts
    --list, -l      List all the available gitmojis
    --search, -s    Search gitmojis
    --version, -v   Print gitmoji-cli installed version
    --update, -u    Sync emoji list with the repo

查看 emoji 列表

$ gitmoji -l

gitmoji list

查找 emoji 表情

$ gitmoji bug linter -s

Windows 无法显示 emoji 符号和表情

由于win7/8 平台无法显示 emoji 表情或符号,但是为了方便查找对应表情可以将表情在 cli 终端显示用中文展示。

本地化翻译

找到gitmojis.json文件,在目录 C:\Users\xxx\.gitmoji 下。打开gitmojis.json文件将 emoji内容修改成中文,顺便将description描述也翻译成中文。下载翻译好的 json文件

[{"emoji":"馃帹","entity":"&#x1f3a8;","code":":art:","description":"Improving structure / format of the code.","name":"art"}

高亮格式化输出

修改后的json可以直接显示中文,基本满足使用效果。同时修改下 gitmoji 的命令输出效果,格式化下输出和颜色高亮。修改文件 $node_path\node_global\node_modules\gitmoji-cli\src\gitmoji.js文件的 _parseGitmojis方法

  _parseGitmojis (gitmojis) {
    return gitmojis.map(gitmoji => {
      const emoji = gitmoji.emoji
      const code = gitmoji.code
      const description = gitmoji.description

      return console.log('\x1B[33m%s\x1B[39m \t-\t \x1B[34m%s\x1B[39m \t-\t %s', emoji, chalk.blue(code), description)
    })
  }

效果展示

$ gitmoji -l

1530366505088

$ gitmoji bug linter -s

1530366406581

参考资料

https://github.com/mrowa44/emojify

https://github.com/muan/emoji

https://github.com/carloscuesta/gitmoji

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

:pencil2: git commit emoji guide Git提交注释使用表情指北 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/weining-zhang/git-emoji-guide.git
git@gitee.com:weining-zhang/git-emoji-guide.git
weining-zhang
git-emoji-guide
git-emoji-guide
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891