給自己的Git Commit Message規範 (中文版)
===
M鼠給自己的Commit Message規範 [(英文版)](https://hackmd.io/@immortalmice/S1FafvL6U)
使用項目
---
#### Header Types:
- **功能** *(新的功能)*
- **修正** *(修正Bug)*
- **更動** *(更動現有的功能)*
- **移除** *(移除功能)*
- **測試** *(新增測試)*
- **重構** *(功能不變的狀態下重構程式碼)*
- **效能** *(提升效能)*
- **雜項** *(各種與功能無關的雜項以及依賴套件的變動)*
- **風格** *(程式碼風格相關的變動)*
- **註解** *(程式碼註解的變動)*
- **更新** *(更新至新的版本號)*
#### Body Section:
- **新增** *(說明新增了哪些的程式碼)*
- **刪除** *(說明移除了那些程式碼)*
- **改變** *(說明改變了那些程式碼)*
- **理由** *(為何做出此變動)*
- **原因** *(造成Bug出現的原因)*
- **解決** *(使用的解決方案)*
- **紀錄** *(版本間變動的紀錄)*
#### Footer Section
- **BREAKING CHANGE** *(與舊版不相容的變動,需在Header段落加上驚嘆號標註)*
- **舊** *(舊的部分)*
- **新** *(新的部分)*
- **註記** *(需要被註記提醒的部分)*
- **關閉** *(本Commit關閉的issues)*
- **還原** *(Revert以前的Commit)*
一些範例
---
### Feat
> Feat: Add scale ability to tiny man's body
>
> Change:
> Tiny man's body's collision box & sprite will scale according to const value.
>
### Fix
> Fix: MatterJS's ENGINE will stop even when it does not exist
>
> Solution:
> Check ENGINE exist or not before turn it down.
>
> Close: [#3]()
### Modify
> !Modify: Change onBlockActivate return type from boolean to ActionResult
>
> Reason:
> A new design ActionResult object can hold more information than boolean.
> Add:
> Add minecraft.util.ActionResultType class to store a result of action.
> Change:
> minecraft.block.Block.onBlockActivate method now return a
> minecraft.util.ActionResultType instead of boolean value
>
> BREAKING CHANGE:
> Before:
> public boolean onBlockActivate(BlockState, World, PlayerEntity)
> After:
> public ActionResult onBlockActivate(BlockState, World, PlayerEntity)
### Refactor
> Refactor: Using event to handle click on #entry button instead
>
> Reason:
> onclick tag in html is not recommend due to some reason.
> Change:
> The action after click on #entry button is now controlled by javascript
> instead of using onclick tag on html.
### Perf
> Perf: Increase RWD ability
>
> Change:
> Rewrite the css file using percentage instead of const px value.
> Set display property in game.css to center window on vertical axis.
> Using \<br> to break line instead of two \<p> elements.
> Reset body & html elements's margin to 0.
> Set height value to 100vh on #container in index & game page.
> Decrese the height of canvas, because it will cause scrollbar appear.
> Remove:
> The unnessary css codes.
### Style
> Style: Rearrange and group definition of const values
>
> Reason:
> New version will be more clean to view and easy to search values.
### Update
> !Update: 3.2.15
>
> Changelog:
> Feat:
> [459babd](): Add potion bewing system (Issue: [\#0]())
> [38d5699](): Player can get exp when finish eating food (Issue: [\#5]())
> [bfe929b](): Ingredient butter has special ability
> Fix:
> [334fa4c](): Block not drop on destroy (Issue: [\#3]())
> [ed421b9](): Meal model error when holding on left hand (Issue: [\#8]())
> [e6000e0](): Recipe not function correctly
> [7f1c307](): Block shape value error
> Modify:
> [78035bb](): Meal's tooltip show exp levels instead of exp points
> Disable:
> [a016901](): Remove vanilla ingredients
> [e0d8559](): Disable exp reset command
> BREAKING CHANGE:
> [dcb121a](): modtutorialim.potion.PuddingEffect
> [d3c282a](): modtutorialim.bus.ModEventHandlers.registEvents.registAll
>
> Commits since 3.2.14 ([78035bb]())
> Feat: [459babd](), [38d5699](), [bfe929b]() ;
> Fix: [334fa4c](), [ed421b9](), [e6000e0](), [7f1c307]() ;
> Modify: [78035bb]() ;
> Disable: [a016901](), [e0d8559]() ;
> Refactor: [05f64ed](), [908b2f9]() ;
> Perf: [865f569]() ;
> Style: [63eed75]() ;
> Docs: [d3c282a](), [dcb121a](), [d3c282a]() ;
> BREAKING CHANGE: [dcb121a](), [d3c282a]() ;