核心理念: Commit Log 是写给人看的,不是写给机器看的。 一个好的 Commit Log 应该能回答三个问题:
- 改了什么? (What)
- 为什么改? (Why)
- 怎么改的? (How - 可选,如果是复杂逻辑)
采用业界标准的 Angular Commit Convention,结构如下:
<type>(<scope>): <subject>
<body>
<footer>
用一个词描述改动的性质:
用括号说明影响的范围 (模块/功能):
feat(Tower): 塔防模块。fix(UI): 界面模块。art(VFX): 特效资源。简短的描述,不超过 50 个字符。
详细描述。
Closes #123BREAKING CHANGE: 如果有破坏性更新(如改了存档格式),必须大写注明!请团队成员直接复制以下模板修改。
fix(Combat): 修复箭塔攻速过快导致伤害丢失的问题
原因:
之前的攻击冷却计时器使用 Time.deltaTime 累加,在低帧率下会有浮点误差。
修改:
改用 Time.time 时间戳进行冷却判定。
Closes #405
feat(Roguelike): 新增天赋 "火焰精通"
效果:
所有造成物理伤害的防御塔,现在有 30% 概率附加点燃效果。
技术细节:
1. 在 DamageCalculator 中新增了 ElementCheck 逻辑。
2. 新增了 Buff_Ignite 脚本。
art(Enemy): 提交 Level 3 精英怪 "石头人" 资源
包含:
1. 模型: Golem_L3.fbx (带 LOD)
2. 贴图: T_Golem_D/N/M_01.png (ASTC 压缩)
3. 动画: Anim_Golem_Walk/Attack/Die
注意:
材质球使用了新的 Toon Shader,请程序确认是否支持 GPU Instancing。
perf(Pathfinding): 优化大量单位寻路时的 CPU 占用
之前使用 NavMeshAgent.SetDestination 每帧调用,导致主线程卡顿。
现在改为每 10 帧 (0.2s) 更新一次路径,并启用了 Job System 进行距离计算。
性能提升:
同屏 500 单位时,Update 耗时从 8ms 降至 1.5ms。
feat/login_system。fix/crash_on_start。develop 切出 feat/login。develop。为了防止人为偷懒,建议部署 Git Hooks。
在 .git/hooks/commit-msg 中添加脚本,使用正则表达式检查 Commit Message 格式。如果不符合 <type>(<scope>): <subject> 格式,直接拒绝提交。
在提交前自动运行:
Debug.Log 的代码)。最后通牒: “Update”, “Fix bug”, “Backup”, “…” 这种 Commit Message 一经发现,请请全组喝奶茶。
BREAKING CHANGE 会导致大版本号 +1 (v1.0.0 -> v2.0.0)。git commit 之前自动运行 Lint 检查。