我是一名全職的開源開發人員,我喜歡稱自己為“開源者”。我從事開源軟體工作已經超過十年,並構建了數以百計的開源軟體應用程式。
同時我也是“避免重覆工作”(DRY)哲學的忠實粉絲,並且我相信編寫更好的 Git 提交訊息是 DRY 的一個重要組成部分。它們具有足夠的背景關係關聯,可以作為你開源軟體的變更日誌。我編寫的眾多工作流之一是 Emoji-Log[2],它是一個簡單易用的開源 Git 提交日誌標準。它透過使用表情符號來建立更好的 Git 提交訊息,從而改善了開發人員的體驗(DX)。
我使用 Emoji-Log 構建了 VSCode Tips & Tricks 倉庫[3] 和我的 ? 紫色 VSCode 主題倉庫[4],以及一個看起來很漂亮的自動變更日誌[5]。
Emoji-Log 的哲學
我喜歡(很多)表情符號,我很喜歡它們。程式設計、程式碼、極客/書獃子、開源……所有這一切本質上都很枯燥,有時甚至很無聊。表情符號幫助我新增顏色和情感。想要將感受新增到這個 2D 的、平板的、基於文字的程式碼世界並沒有錯。
相比於數百個表情符號[6],我學會的更好辦法是讓類別較小和普遍性。以下是指導使用 Emoji-Log 編寫提交資訊的原則:
編寫提交資訊
僅使用以下 Git 提交資訊。簡單而小巧的佔地面積是 Emoji-Log 的核心。
就這些了,不多不少。
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[8] 安裝這些函式,執行以下命令:
-
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 的倉庫:
你呢?如果你的倉庫使用 Emoji-Log,請將這個 Emoji-Log 徽章[13]放到你的 README 中,並給我傳送一個拉取請求[14],以讓我可以將你的倉庫列在這裡。
via: https://opensource.com/article/19/2/emoji-log-git-commit-messages
作者:Ahmad Awais[16] 選題:lujun9972 譯者:MjSeven 校對:wxy
知識星球