跳转至

mars是一个开放的项目,有很多开发人员参与其中。你也可以成为其中一份子。这里介绍如何参与mars开发。

🧬贡献代码的步骤

  • 在github issues 上找到需要修复的问题,或提出要贡献的特性内容
  • 在github或者Github上fork项目到自己的repo
  • 把fork过去的项目也就是你的项目clone到你的本地
  • 修改代码(记得一定要修改v1-dev分支)并进行相关测试
  • commit后push到自己的库(v1-dev分支)
  • 登录github或Github在你首页可以看到一个 pull request 按钮,点击它,选择自己的dev 分支及本项目的dev 分支,填写一些说明信息,然后提交即可。
  • 等待维护者合并

安装git相关软件

  • git有命令行和图形工具,强烈推荐你用命令行工具。

  • Eclipse / IDEA的git插件
    Eclispe/IDEA自带的git插件,在Eclipse / IDEA 之前的版本非常不稳定,不推荐使用,在Eclipse / IDEA 中,也偶发bug,仍然不推荐使用。

  • git的官方站点 http://git-scm.com/
    官方站点有文档和命令行工具下载,需要翻墙,自己想办法解决。

Fork

  • 第1步 Fork自己的仓库
    从whaleal/mars项目中fork一个你自己的仓库

mars的官方仓库是: https://github.com/whaleal/mars

fork之后,你的个人仓库是: https://github.com/my_account/mars

开发并且提交代码

  • clone 首先要从github上下载代码到本地,你需要执行如下命令:
git clone https://github.com/my_account/mars.git 
cd mars
  • commit 当你修改代码之后,需要commit到本地仓库,执行的命令如下:
git add --all
git commit -a -m '修改原因,相关说明信息'

建议你的不同的修改,分别做不同的commit。

  • push 执行git commit之后,只是提交到了本机的仓库,而不是github上你账号的仓库。你需要执行push命令,把commit提交到服务器。
git push

上游仓库

  • 添加远程仓库
git remote add upstream https://github.com/whaleal/mars.git 
  • 更新远程代码:
git pull upstream
  • 将远程代码合并到本地仓库
git merge upstream/master
  • 将代码提交自己的仓库
git push

保存密码

每次push都需要输入密码很麻烦,你可以执行如下命令保存密码:

git config --global credential.helper cache
git config credential.helper 'cache --timeout=360000'

pull request

登陆github,在你自己的账号中的仓库中点击pull request, 就会要求你输入pull request的原因和详细信息,你确认之后。mars的owner就会收到并且审查,审查通过就会合并到主干上。

mars欢迎任何人为mars添砖加瓦,贡献代码,不过维护者是一个强迫症患者,为了照顾病人,需要提交的pr(pull request)符合一些规范,规范如下: * 注释完备,尤其每个新增的方法应按照Java文档规范标明方法说明、参数说明、返回值说明等信息,必要时请添加单元测试,如果愿意,也可以加上你的大名。 * mars的缩进按照IDEA,IDEA真香,默认(tab)缩进,所以请遵守(不要和我争执空格与tab的问题,这是一个病人的习惯)。 * 新加的方法不要使用第三方库的方法,mars遵循无依赖原则(除非在extra模块中加方法工具)。 * 请pull request到v1-dev分支。mars在1.x版本后使用了新的分支:v1-main是主分支,表示已经发布中央库的版本,这个分支不允许pr,也不允许修改。

提示

本地快速编译,去掉生成javadoc和testcase,节省时间。建议对页面修改时这么编译,如果修改java代码,请不要跳过testcase。

mvn install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true

代码格式化

不建议您格式化项目代码,可能会给项目带来较大的风险。 如果您一定要这么做,请参照 IDEA 风格来格式化文件,导入至Eclipse / IDEA并启用,提交的代码必须按照此格式提交

commit

不同目的进行的代码修改,进行分次提交,多个commit可以放到一个pullrequest里

commit msg

内容要写具体点

例如:add testcase --> 改成 add testcase for XXX class 之类的, 可以git log 就能明白做了什么, 而不是非要查看具体改了哪些文件才知道做了什么

分支说明

项目分为 main 分支和 dev 分支
代码修改提交请 全部提交到 dev 分支下。