博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 提交返回信息乱码_Emoji-Log:编写 Git 提交信息的新方法
阅读量:5732 次
发布时间:2019-06-18

本文共 2871 字,大约阅读时间需要 9 分钟。

b5077da8a3435afd4adb95494b75a9c4.png

使用 Emoji-Log 为你的提交添加上下文。

-- Ahmad Awais

我是一名全职的开源开发人员,我喜欢称自己为“开源者”。我从事开源软件工作已经超过十年,并 构建了数以百计的 开源软件应用程序。

同时我也是“ 避免重复工作(Don’t Repeat Yourself)”(DRY)哲学的忠实粉丝,并且我相信编写更好的 Git 提交消息是 DRY 的一个重要组成部分。它们具有足够的上下文关联,可以作为你开源软件的变更日志。我编写的众多工作流之一是 Emoji-Log ,它是一个简单易用的开源 Git 提交日志标准。它通过使用表情符号来创建更好的 Git 提交消息,从而改善了开发人员的体验(DX)。

我使用 Emoji-Log 构建了 VSCode Tips & Tricks 仓库 和我的 紫色 VSCode 主题仓库 ,以及一个看起来很漂亮的 自动变更日志 。

Emoji-Log 的哲学

我喜欢(很多)表情符号,我很喜欢它们。编程、代码、极客/书呆子、开源……所有这一切本质上都很枯燥,有时甚至很无聊。表情符号帮助我添加颜色和情感。想要将感受添加到这个 2D 的、平板的、基于文本的代码世界并没有错。

相比于 数百个表情符号 ,我学会的更好办法是让类别较小和普遍性。以下是指导使用 Emoji-Log 编写提交信息的原则:

  • 必要的
  • Git 提交信息是必要的。
  • 像下订单一样编写提交信息。
  • 例如,使用 ✅ Add 而不是 ❌ Added
  • 例如,使用 ✅ Create 而不是 ❌ Creating
  • 规则
  • 少数类别易于记忆。
  • 不多也不少
  • 例如 NEW 、 IMPROVE 、 FIX 、 DOC 、 RELEASE 、 ✅ TEST
  • 行为
  • 让 Git 的提交基于你所采取的操作
  • 使用像 VSCode 这样的编辑器来提交带有提交信息的正确文件。

编写提交信息

仅使用以下 Git 提交信息。简单而小巧的占地面积是 Emoji-Log 的核心。

  • NEW: 必要的信息
  • 当你添加一些全新的东西时使用。
  • 例如 NEW: 添加 Git 忽略的文件
  • IMPROVE: 必要的信息
  • 用于改进/增强代码段,如重构等。
  • 例如 IMPROVE: 远程 IP API 函数
  • FIX: 必要的信息
  • 修复 bug 时使用,不用解释了吧?
  • 例如 FIX: Case converter
  • DOC: 必要的信息
  • 添加文档时使用,比如 README.md 甚至是内联文档。
  • 例如 DOC: API 接口教程
  • RELEASE: 必要的信息
  • 发布新版本时使用。例如, RELEASE: Version 2.0.0
  • ✅ TEST: 必要的信息
  • 发布新版本时使用。
  • 例如 ✅ TEST: 模拟用户登录/注销

就这些了,不多不少。

Emoji-Log 函数

为了快速构建原型,我写了以下函数,你可以将它们添加到 .bashrc 或者 .zshrc 文件中以快速使用 Emoji-Log。

#.# Better Git Logs.

### Using EMOJI-LOG (https://github.com/ahmadawais/Emoji-Log).

# Git Commit, Add all and Push — in one step.

function gcap() {

git add . && git commit -m "$*" && git push

}

# NEW.

function gnew() {

gcap " NEW: $@"

}

# IMPROVE.

function gimp() {

gcap " IMPROVE: $@"

}

# FIX.

function gfix() {

gcap " FIX: $@"

}

# RELEASE.

function grlz() {

gcap " RELEASE: $@"

}

# DOC.

function gdoc() {

gcap " DOC: $@"

}

# TEST.

function gtst() {

gcap "✅ TEST: $@"

}

要为 fish shell 安装这些函数,运行以下命令:

function gcap; git add .; and git commit -m "$argv"; and git push; end;

function gnew; gcap " NEW: $argv"; end

function gimp; gcap " IMPROVE: $argv"; end;

function gfix; gcap " FIX: $argv"; end;

function grlz; gcap " RELEASE: $argv"; end;

function gdoc; gcap " DOC: $argv"; end;

function gtst; gcap "✅ TEST: $argv"; end;

funcsave gcap

funcsave gnew

funcsave gimp

funcsave gfix

funcsave grlz

funcsave gdoc

funcsave gtst

如果你愿意,可以将这些别名直接粘贴到 ~/.gitconfig 文件:

# Git Commit, Add all and Push — in one step.

cap = "!f() { git add .; git commit -m "$@"; git push; }; f"

# NEW.

new = "!f() { git cap " NEW: $@"; }; f"

# IMPROVE.

imp = "!f() { git cap " IMPROVE: $@"; }; f"

# FIX.

fix = "!f() { git cap " FIX: $@"; }; f"

# RELEASE.

rlz = "!f() { git cap " RELEASE: $@"; }; f"

# DOC.

doc = "!f() { git cap " DOC: $@"; }; f"

# TEST.

tst = "!f() { git cap "✅ TEST: $@"; }; f"

Emoji-Log 例子

这里列出了一些使用 Emoji-Log 的仓库:

  • Create-guten-block toolkit
  • VSCode Shades of Purple theme
  • Ahmad Awais' GitHub repos (我的最新的仓库)
  • CaptainCore CLI (WordPress 管理工具)
  • CaptainCore GUI (WordPress 插件)

你呢?如果你的仓库使用 Emoji-Log,请将这个 Emoji-Log 徽章 放到你的 README 中,并给我发送一个 拉取请求 ,以让我可以将你的仓库列在这里。


转载地址:http://ntowx.baihongyu.com/

你可能感兴趣的文章
24.5 saltstack远程执行命令
查看>>
配置IP
查看>>
大快网站:如何选择正确的hadoop版本
查看>>
经过这5大阶段,你离Java程序员就不远了!
查看>>
Nginx配置文件相关操作
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
thymeleaf 学习笔记-基础篇
查看>>
分享话题列表
查看>>
PHP-X开发扩展
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
Windows Server 2003下cwRsyncServer服务端与cwRsync客户端数据
查看>>
iOS 打包上传没有用到日历,但是提示需要在info.plist文件中加入NSCalendarsUsageDescription...
查看>>
工作中如何做好技术积累
查看>>
怎么用sysLinux做U盘双PE+DOS??
查看>>
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
Oracle树形结构的sql语句
查看>>
Microsoft Excel 2000/2003修复工具
查看>>