◆
VFT 项目基本开发流程与 Git 提交规范
开发前提
node版本大于等于16pnpm版本大于等于8.0.0
全局安装 pnpm
npm install -g pnpm
安装项目
此过程首次可能会执行时间较长请耐心等待
pnpm i
运行项目代码
pnpm dev
GIT 提交规范
信息提交格式为
<commit-type>[(<scope>)]: <commit-msg> (#禅道号)
commit-type:必填项,为对应提交类型,这里约定了feat,fix,docs,style,refactor,perf,test,build,ci,chore,types,wip,revert这些类别,具体代表的含义可以查看下面的提交类别说明。scope:可选必填项,用于描述改动的范围,如果一次 commit 修改多个模块,建议拆分成多次 commit,以便更好追踪和维护。commit-msg: 必填项,为提交信息的简要说明。- 禅道号: 必填项,每一次提交必须对应一个禅道号,如果某次修改没有禅道号对应,请使用
#000。需要注意的是,禅道号必须使用#开头,并且一个提交只能写一个禅道号,在有多个禅道 bug 的情况下,请将不同的 bug 进行拆分提交。
提交示例
git commit -m "feat: 添加了某某功能"
git commit -m "fix: xxx修复"
提交类别
| 类别 | emoji | 含义 |
|---|---|---|
feat | ✨ | 新功能 |
fix | 🐛 | 修复 bug |
docs | 📝 | 仅仅修改文档,比如 README, CHANGELOG, CONTRIBUTE 等等 |
style | 🎨 | 不改变代码逻辑 (仅仅修改了空格、格式缩进、逗号等等) |
ui | 💄 | 样式调整 |
refactor | ♻️ | 重构(既不修复错误也不添加功能) |
perf | ⚡️ | 优化相关,比如提升性能、体验 |
test | ✅ | 增加测试,包括单元测试、集成测试等 |
build | 👷 | 构建系统或外部依赖项的更改 |
ci | 💚 | 自动化流程配置或脚本修改 |
chore | 🔩 | 非 src 和 test 的修改,例如构建过程或辅助工具的变动 |
types | 🏷️ | 添加或更新类型 |
wip | 🚧 | 开发中 |
revert | ⏪ | 恢复先前的提交 |
typo | ⏪ | 拼写错误修复 |
GIT 使用流程
- 如果自己分支不干净时,使用
git stash添加暂存,如果是干净的可以跳过这一步; - 在分支上执行
git pull origin dev --rebase,它的作用是将dev分支上的变动rebase到自己的分支上; - 如果出现冲突,解决后
git rebase --continue如果放弃此次reabase,使用git rebase --abort取消; - 如果执行了第一步中的
stash,此时还需要执行git stash pop恢复暂存的修改,如未执行步骤 1 则忽略,如出现冲突则继续解决冲突; - 最后提交代码到远端仓库
git push origin [branch-name]; - 到网页上,将自己分支的最新代码与
dev对比,建一个 PR; - 预览当前 PR 的内容,并 merge 到
dev分支。
rebase 出现冲突
- 解决
conflict,然后继续 rebasegit rebase --continue - 放弃此次
rebase操作git rebase --abort
不想提交的代码
- 将代码缓存到暂存区
git stash - 将暂存的代码取出来
git stash pop
误操作 git 导致代码丢失
- 使用
git reflog获取所有历史操作日志 - 使用
git cherry-pick [reflog-id]恢复某个分支的代码
更多详细用法请参考:https://www.liaoxuefeng.com/wiki/896043488029600/902335212905824

还没有留言,来发表第一条吧~