为 Carla 做出贡献
Carla 团队很高兴接受任何愿意合作的人的贡献。根据贡献者的能力,可以采用不同的方式为项目做出贡献。该团队将尽最大努力将贡献成功整合到 Carla 中。
看看吧,不要犹豫!
报告错误
可以在 GitHub 上的 Issues 部分 报告问题。在报告新错误之前,请务必进行一些检查。
1. 检查是否已报告问题。 在 GitHub 上的同一问题部分查找它。
2. 阅读文档。 确保问题是一个错误,而不是对 Carla 应该如何工作的误解。阅读 文档 中与该问题相关的页面并查看 常见问题解答 页面。
请求功能
新功能的想法也是一种很好的贡献方式。任何可以改善用户体验的建议都可以在 此处 的相应 GitHub 部分提交。
代码贡献
在开始动手编码之前,请查看 Issues 板块 以了解团队已经在做什么,以避免重叠。如有疑问或讨论如何继续,请联系我们之一(或发送电子邮件至 carla.simulator@gmail.com)。
为了开始工作,请 创建 Carla 存储库的分叉 ,并将所述分叉克隆到您的计算机中。请记住使您的分叉与原始存储库 保持同步 。
了解虚幻引擎
有关使用虚幻引擎 4 进行 C++ 编程的基本介绍,请参阅虚幻引擎的 C++ 编程教程。网上还有其他选项,其中一些不是免费的。Udemy 的虚幻 C++ 课程非常完整,并且通常提供价格非常实惠的优惠。
开始之前
查看 Carla 设计文档,了解组成 Carla 的不同模块。选择最合适的一个来容纳新功能。如果在此过程中出现任何疑问, 请随时联系 Discord 服务器 中的团队。
编码标准
提交新代码时 遵循当前的 编码标准。
提交
贡献和新功能不会直接合并到 master
分支,而是合并到名为 dev
的中间分支。这种 Gitflow 分支模型可以更轻松地维护稳定的主分支。该模型需要特定的贡献工作流程。
- 始终让您的
dev
分支更新最新的更改。 - 从名为
username/name_of_the_contribution
的dev
子分支中开发贡献。 - 贡献准备就绪后,从您的分支向
dev
提交拉取请求(pull-request)。填写描述时尽量具有描述性。请注意,在合并之前,新代码需要通过一些检查。检查由持续集成系统自动运行。如果检查成功,将会出现绿色勾号。如果有红色标记,请相应更正代码。
一旦贡献被合并到 dev
中,就可以与其余新功能一起进行测试。到下一个版本时,该 dev
分支将合并到 master
,并且贡献将可用并公布。
清单
- 您的分支已与
dev
分支保持同步,并通过最新更改进行了测试。 - 如有必要,扩展 README/文档。
- 代码编译正确。
- 所有测试均通过
make check
。
艺术贡献
艺术贡献包括车辆、行人、地图或 Carla 中使用的任何其他类型的资产。这些存储在 BitBucket 存储库中,该存储库有一些帐户空间限制。出于上述原因,贡献者必须与 Carla 团队联系,并要求他们在内容存储库上为贡献创建一个分支。
1. 创建BitBucket账户。 访问 Bitbucket 页面 。
2. 联系艺术团队以获取内容存储库的访问权限。 加入 Discord 服务器 。转至 贡献者 频道并请求访问内容存储库。
3. 将为每个贡献者创建一个分支。 该分支将被命名为 contributors/contributor_name
。该用户所做的所有贡献都应在相应的分支中做出。
4. 构建 Carla。 为了做出贡献,构建 Carla 是必要的。按照说明在 Linux 或 Windows 中构建。
5. 下载内容存储库。 按照说明更新 此处 的内容。
6. 更新分支以与 master 同步。 分支应始终使用 master 中的最新更改进行更新。
7. 上传贡献。 进行相应的更改并将分支推送到 origin。
8. 等待美术组审核。 一旦贡献上传,团队将检查与 master 合并的一切是否准备好。
文档贡献
如果某些文档缺失、模糊或不精确,则可以像任何其他错误一样进行报告(请阅读上一节有关 如何报告错误)。但是,用户可以通过编写文档来做出贡献。
该文档是用 Markdown 和 HTML 标签混合编写的,还有一些额外的 CSS 代码用于表格或 town slider 等功能。按照以下步骤开始编写文档。
重要
要提交文档贡献,请遵循上面 代码贡献 中解释的相同工作流程。总而言之,贡献是在来自 dev
分支的子分支中做出的,并合并到该分支。
1. 从源代码构建 Carla。 按照文档中的步骤在 Linux 或 Windows 上进行构建。
2. 安装 MkDocs. MkDocs 是一个用于构建文档的静态站点生成器。
pip install mkdocs
3. 可视化文档。 在主 Carla 文件夹中,运行以下命令并单击终端中显示的 链接 以打开文档的本地可视化。
mkdocs serve
4. 创建git分支。 创建新分支时,请确保位于dev
分支中(更新到最新更改)。
git checkout -b <contributor_name>/<branch_name>
5. 编写文档。 按照 文档标准 页面中的指南编辑文件。
6. 提交更改。 在 GitHub 存储库中创建拉取请求,并添加一个建议的审阅者。填写拉取请求描述时,请尝试尽可能具有描述性。
7. 等待审核。 团队将检查合并或需要进行任何更改是否已准备好。
笔记
本地存储库必须使用 dev
分支中的最新更新进行更新。