Skip to content

Commit 941e45c

Browse files
authored
Merge pull request #54 from MacroMeng/master
docs: 优化CONTRIBUTING.md
2 parents b70f708 + 27b80c6 commit 941e45c

4 files changed

Lines changed: 145 additions & 327 deletions

File tree

CONTRIBUTING.md

Lines changed: 132 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,179 @@
1-
# 📖 GitHub 提交与贡献教程
1+
# 📖 SecRandom 贡献指南
2+
3+
SecRandom 欢迎**任何人**向我们的仓库提交代码。您可以帮助我们做很多工作,包括但不限于:
4+
5+
- 提交补丁来修复bug
6+
- 添加新功能
7+
- 优化现有的功能
8+
- 优化代码的性能
9+
- 完善文档与翻译
10+
- 更多......
11+
12+
通过阅读本指南,您将会了解为 SecRandom 贡献代码的各个流程。您还会了解使用 commit 信息进行二进制构建的方式。现在就开始吧!
213

314
## 🚀 快速开始
415

516
在向 SecRandom 项目贡献代码之前,请确保您已完成以下准备工作:
617

18+
> [!NOTE]
719
> 除了使用命令行,您还可以使用 GitHub Desktop 或您 IDE 中的内置功能/插件进行操作。
820
921
1. **Fork 项目**
10-
- 访问 [SecRandom GitHub 仓库](https://github.com/SECTL/SecRandom)
11-
- 点击右上角的 "Fork" 按钮创建您自己的仓库副本
22+
23+
- 访问 [SecRandom GitHub 仓库](https://github.com/SECTL/SecRandom)
24+
- 点击右上角的 "Fork" 按钮创建您自己的仓库副本
1225

1326
2. **克隆仓库**
1427

15-
```bash
16-
git clone https://github.com/您的用户名/SecRandom.git
17-
cd SecRandom
18-
```
28+
> [!WARNING]
29+
> 确保在这一步之前,您已经将终端的工作目录切换到您想保存/修改 SecRandom 源代码的地方。
30+
31+
```bash
32+
git clone https://github.com/您的用户名/SecRandom.git
33+
cd SecRandom
34+
```
1935

2036
3. **添加上游仓库**
2137

22-
```bash
23-
git remote add upstream https://github.com/SECTL/SecRandom.git
24-
```
38+
```bash
39+
git remote add upstream https://github.com/SECTL/SecRandom.git
40+
```
41+
42+
4. **安装虚拟环境** (可选)
43+
44+
> [!TIP]
45+
> 若您不需要运行代码以测试效果,您可以跳过这个部分。
46+
47+
SecRandom 使用 `uv` 管理虚拟环境。您需要先获取它再执行以下命令。您可以在 [uv官方文档](https://docs.astral.sh/uv/getting-started/) 中获取关于 `uv` 的信息。
48+
49+
```bash
50+
uv venv
51+
uv sync
52+
```
53+
54+
随后您可以这样运行代码(在虚拟环境中):
55+
56+
```bash
57+
uv run ./main.py
58+
```
2559

2660
## 📤 提交您的贡献
2761

28-
1. **创建功能分支**
62+
1. **创建分支**
2963

30-
```bash
31-
git checkout -b feature/您的功能名称
32-
```
64+
```bash
65+
git checkout -b feature/功能名称
66+
```
3367

3468
2. **进行修改**
35-
- 编写您的代码
36-
- 添加必要的注释(请使用中文)
37-
- 确保遵循项目代码规范
69+
70+
- 编写您的代码
71+
- 添加必要的注释(请使用中文)
72+
- 确保遵循项目代码规范
3873

3974
3. **提交更改**
4075

41-
```bash
42-
git add .
43-
git commit -m "描述您的更改内容"
44-
```
76+
```bash
77+
git add .
78+
git commit -m "描述您的更改内容"
79+
```
4580

4681
4. **同步上游更改**
4782

48-
```bash
49-
git fetch upstream
50-
git rebase upstream/master
51-
```
83+
```bash
84+
git fetch upstream
85+
git rebase upstream/master
86+
```
5287

53-
5. **推送并创建 Pull Request**
88+
5. **推送并创建拉取请求 (Pull request, PR)**
5489

55-
```bash
56-
git push origin feature/您的功能名称
57-
```
90+
```bash
91+
git push origin feature/您的功能名称
92+
```
5893

59-
- 访问您的 GitHub 仓库
60-
- 点击 "Compare & pull request" 按钮
61-
- 填写 PR 描述并提交
94+
- 访问您的 GitHub Fork 仓库
95+
- 点击 "Compare & pull request" (比较/拉取请求) 按钮
96+
- 填写 PR 描述并提交
6297

6398
## 📋 贡献指南
6499

65100
### 代码规范
66101

67-
- 使用中文编写代码注释
68-
- 遵循项目现有的代码风格
69-
- 确保导入所有使用的 Qt 类,不要使用 `from spam import *` 导入。
70-
- 验证第三方 UI 组件是否存在
102+
- 使用中文编写代码注释,别忘记撰写 Docstring
103+
- 遵循 PEP8 倡导的风格指南,若有意异议可以查看现有的代码
104+
- 确保导入所有您已使用的类/函数/变量,不要使用 `from module import *`
105+
- 验证第三方 UI 组件与其他库中的类/函数/变量是否存在
71106

72107
> [!TIP]
73-
> 您可以使用 **PyRight****Ruff** 等工具检查代码是否符合规范
108+
> 您可以使用 **PyRight****Ruff** 等工具检查代码是否有缺陷/代码是否符合规范
74109

75-
### 提交信息规范
110+
### 提交 (commit) 信息规范
76111

77112
- 使用清晰、简洁的提交信息
78-
- 以动词开头(如:添加、修复、更新等)
113+
- 以 fix, feat 等约定俗成的单词开头
79114
- 避免过于简单的描述(如:"修复bug"
80115

81116
> [!TIP]
82117
> 我们推荐使用[约定式提交](https://www.conventionalcommits.org/zh-hans/v1.0.0/)撰写提交信息。
83118

84-
### Pull Request 要求
119+
### PR 要求
85120

86-
- PR 标题应简洁明了地描述更改内容
87-
- 提供详细的更改说明
121+
- PR 标题应简洁明了地描述更改内容(若只有一个提交,也可以直接使用这个提交的标题)
122+
- 提供详细的更改说明,包括:
123+
- 新增/修改/删除的功能
124+
- 新增/修改版本/删除的依赖库 和 更改 Python 版本
125+
- 其他破坏性更改也请一并告知
88126
- 确保所有测试通过
127+
- 确保您修改的代码至少在您的计算机上运行正常
89128
- 关联相关的 Issue(如有)
129+
130+
### 最后一步......
131+
132+
当 SecRandom 的维护者审查了您的 PR,确保没有任何问题之后,就会将您的所贡献的代码合并到主分支。
133+
134+
现在我们 **恭喜您成为 SecRandom 贡献者的一员!**
135+
136+
如果您的 PR 没有通过,也没有关系。请仔细阅读我们的维护者给出的建议并且继续努力,早有一日,您会成为 SecRandom 贡献者的一员。加油😃👍!
137+
138+
## 📖 Actions 构建工作流
139+
140+
若您需要测试自动构建的二进制程序,您可以阅读以下文字来获取更多信息。
141+
142+
### 🚀 GitHub Actions 统一构建工作流使用指南
143+
144+
SecRandom 项目使用统一的 GitHub Actions 工作流进行构建和发布,配置文件位于 `.github/workflows/build-unified.yml`。该工作流支持多种触发方式和配置选项。
145+
146+
#### 通过提交消息触发特定构建
147+
148+
您可以通过在 git commit 消息中包含特定关键词来触发不同的构建行为:
149+
150+
1. **触发打包构建**
151+
- 在 commit 消息中包含 `打包` 关键词
152+
- 例如:`git commit -m "新增功能 打包"`
153+
154+
2. **指定构建平台**
155+
- `win` - Windows 平台
156+
- `linux` - Linux 平台
157+
- `all` - 所有平台
158+
- 例如:`git commit -m "修复bug 打包 linux"`
159+
160+
3. **触发所有平台构建**
161+
- 创建符合版本号规范的 tag(格式:`v数字.数字.数字.数字`
162+
- 例如:`git tag v1.2.3.4 && git push origin v1.2.3.4`
163+
164+
#### 构建参数关键词说明
165+
166+
提交消息中可以包含以下关键词来控制构建行为:
167+
168+
| 关键词 | 含义 | 示例 |
169+
|--------|------|------|
170+
| `打包` | 通用打包触发 | `git commit -m "新增功能 打包"` |
171+
| `win` | Windows 平台 | `git commit -m "修复UI 打包 win"` |
172+
| `linux` | Linux 平台 | `git commit -m "优化性能 打包 linux"` |
173+
| `all` | 所有平台 | `git commit -m "大更新 打包 all"` |
174+
175+
**组合使用示例:**
176+
177+
- `git commit -m "优化性能 打包 pi"` - 使用 PyInstaller 构建 Windows 平台
178+
- `git commit -m "修复bug 打包 pi"` - 使用 PyInstaller 构建 Linux 平台
179+

README.md

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -149,56 +149,16 @@
149149
- 📄 **[SecRandom 官方文档](https://secrandom.netlify.app)**
150150
- [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/SECTL/SecRandom)
151151

152+
## 贡献指南与 Actions 构建工作流
153+
154+
查看我们的 [贡献指南](./CONTRIBUTING.md) 来查看更多内容!
155+
152156
## ✨ Star历程
153157

154158
<picture>
155159
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=SECTL/SecRandom&type=Date&theme=dark">
156160
<img alt="Star History" src="https://api.star-history.com/svg?repos=SECTL/SecRandom&type=Date">
157161
</picture>
158162

159-
## 📖 使用教程
160-
161-
### 🚀 GitHub Actions 统一构建工作流使用指南
162-
163-
SecRandom 项目使用统一的 GitHub Actions 工作流进行构建和发布,文件位于 `.github/workflows/build-unified.yml`。该工作流支持多种触发方式和配置选项。
164-
165-
<details>
166-
<summary>查看更多信息</summary>
167-
168-
#### 通过提交消息触发特定构建
169-
170-
您可以通过在 git commit 消息中包含特定关键词来触发不同的构建行为:
171-
172-
1. **触发打包构建**
173-
- 在 commit 消息中包含 `打包` 关键词
174-
- 例如:`git commit -m "新增功能 打包"`
175-
176-
2. **指定构建平台**
177-
- `win` - Windows 平台
178-
- `linux` - Linux 平台
179-
- `all` - 所有平台
180-
- 例如:`git commit -m "修复bug 打包 linux"`
181-
182-
3. **触发所有平台构建**
183-
- 创建符合版本号规范的 tag(格式:`v数字.数字.数字.数字`
184-
- 例如:`git tag v1.2.3.4 && git push origin v1.2.3.4`
185-
186-
#### 构建参数关键词说明
187-
188-
提交消息中可以包含以下关键词来控制构建行为:
189-
190-
| 关键词 | 含义 | 示例 |
191-
|--------|------|------|
192-
| `打包` | 通用打包触发 | `git commit -m "新增功能 打包"` |
193-
| `win` | Windows 平台 | `git commit -m "修复UI 打包 win"` |
194-
| `linux` | Linux 平台 | `git commit -m "优化性能 打包 linux"` |
195-
| `all` | 所有平台 | `git commit -m "大更新 打包 all"` |
196-
197-
**组合使用示例:**
198-
199-
- `git commit -m "优化性能 打包 pi"` - 使用 PyInstaller 构建 Windows 平台
200-
- `git commit -m "修复bug 打包 pi"` - 使用 PyInstaller 构建 Linux 平台
201-
202-
</details>
203163

204164
**Copyright © 2025 SECTL**

0 commit comments

Comments
 (0)