1
0
mirror of synced 2026-03-22 18:48:34 +08:00

refactor: make it public

This commit is contained in:
roymondchen
2022-02-17 14:47:39 +08:00
commit bc8b9f5225
360 changed files with 52539 additions and 0 deletions

136
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,136 @@
## Issue 提交
#### 对于贡献者
在提 issue 前请确保满足一下条件:
- 必须是一个 bug 或者功能新增。
- 已经在 issue 中搜索过,并且没有找到相似的 issue 或者解决方案。
## Pull request
我们除了希望听到您的反馈和建议外,我们也希望您接受代码形式的直接帮助,对我们的 GitHub 发出 pull request 请求。
以下是具体步骤:
#### Fork仓库
点击 `Fork` 按钮,将需要参与的项目仓库 fork 到自己的 Github 中。
#### Clone 已 fork 项目
在自己的 github 中,找到 fork 下来的项目git clone 到本地。
```bash
$ git clone git@github.com:<yourname>/tmagic-editor.git
```
#### 添加 tmagic-editor 仓库
将 fork 源仓库连接到本地仓库:
```bash
$ git remote add <name> <url>
# 例如:
$ git remote add wepy git@github.com:Tencent/tmagic-editor.git
```
#### 保持与 tmagic-editor 仓库的同步
更新上游仓库:
```bash
$ git pull --rebase <name> <branch>
# 等同于以下两条命令
$ git fetch <name> <branch>
$ git rebase <name>/<branch>
```
## Commit
对于如何提交 git commit message我们有非常精确的规则。我们希望所有的 commit message 更具可读性,这样在查看项目历史记录会变得容易,同时我们使用 commit message 生成 Changelog.
本项目使用了 `@commitlint` 作为 commit lint 工具,并使用 [`@commitlint/config-angular`](https://www.npmjs.com/package/@commitlint/config-angular)作为基础规则,请使用下面任意一种方式提交你的 commit.
- 全局安装 `npm install -g commitizen`,然后使用 `cz` 提交
- 使用 `git commit -a` 提交,请注意 message 符合我们的要求
### 提交格式
每个 commit message 包括 **header**, **body****footer**.
header 具有特殊的格式,包括 **type**, **scope****subject**, type 和 subject 是必须的scope 是可选的。
```vim
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```
提交 message 的任何行不能超过 100 个字符!确保 message 在 GitHub 以及各种 git 工具中更易于阅读。
注脚应该包含 [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) 如果有的话.
示例:
```vim
docs(changelog): update change log to beta.5
```
```vim
fix(editor): resize error
Component doesn't refresh when resize it.
fix #123
```
### Type
必须是以下选项之一:
- **feat**: 一个新特性
- **fix**: 一次 bug 修复
- **docs**: 只是对文档进行修改
- **style**: 不影响代码本身含义的代码风格修改
- **refactor**: 既不属于新特性又不是 bug 修改的代码修改
- **perf**: 性能优化
- **test**: 添加或修改测试用例
- **build**: 修改构建工具
- **ci**: 修改自动化脚本
- **revert**: 回滚提交
### Scope
Scope 应该是本次修改所影响模块的名称(文件夹名称或其他有意义的单词)。
```vim
<prefix:name>
<prefix:name1,name2>
```
其他情况可以忽略 scope:
- 使用 `docs`, `build``ci` 等全局修改(例如:`docs: add missing type`).
### Subject
Subject 是本次修改的简洁描述:
- 使用祈使句、现在时,例如:使用 "change" 而不是 "changed"、"changes"
- 不大写第一个字母
- 不以小数点(.)结尾
### Body
Body 应包含修改的动机,并对比这与以前的行为,是本次修改的详细描述:
- 使用祈使句、现在时,例如:使用 "change" 而不是 "changed"、"changes"
### Footer
Footer 应包含 **Breaking Changes** 和关闭或关联的 **Issues**
- **Breaking Changes** 应该以 `BREAKING CHANGE:` 开头
- 关闭或关联的 **Issues** 使用 `fix #123` 或者 `re #123`