首页| 论坛| 消息
主题:如何参与Tianchi(天池)项目以及如何贡献代码
XChinux发表于 2013-04-16 10:34
Tianchi项目(天池Qt共享库项目,参见关于《天池共享源码库》,最新版本v0.0.2的功能列表请看)现已正式启动,程序放在github上面,地址是https://github.com/qtcn/tianchi,希望参与开发和维护的人员(包括开发、文档、测试等)并具有提交权限(即可处理Pull Requests提交上来的merge和patch),请首先到下面网址报名(是否具有提交权限,会根据实际参与情况进行处理):

http://www.qtcn.org/bbs/read-htm-tid-52866.html

当然,对于非经常性参与项目或者不熟悉git和github的朋友,也可以通过发邮件(qtcn_tianchi@groups.163.com)或者直接在项目讨论区(http://www.qtcn.org/bbs/thread-htm-fid-105.html)发帖来贡献代码,项目维护人员会将其加入到github中。

对于项目代码中的其它要求,请查看项目doc目录下的内容,有任何问题请发邮件到qtcn_tianchi@groups.163.com。

     已报名tianchi项目开发的朋友们,请查看QTCN 天池项目版块的帖子内容,以了解如何参与项目开发,根据自己的情况,参与具体的工作内容(后面会说明),提交到github.com上即可,有问题需要沟通探讨的,请在skype讨论组、qtcn.org管理组QQ群里讨论(QQ、skype在报名时会添加),或者直接发邮件讨论也可以(邮件列表名单在报名时会告知),或者在QTCN 天池项目版块中发帖子讨论。

暂订当前工作内容为以下各项:
1. Tianchi库标准的制定。(由核心成员负责)
2. 合并代码到Tianchi正式库中。(由核心成员负责)
3. 编写Tianchi的演示(测试)程序。
4. 在不同环境下的编译,和可用性, 对演示程序进行测试。
5. 编写使用文档(直接以doxygen支持的格式写在代码中)。
6. 对代码进行走读,提出BUG或改进建议等。
7. 搜集功能需求和用户反馈(张帖到论坛Tianchi版块)
8. 搜集现有代码,必要时联络作者,确认能否合并入 Tianchi.
9. 改写网上不兼容的代码,注意需要注明出处。收集时尽可能发通知告知作者。
10. 整理发言稿或其它与软件技术无关的资料等。
11. 推广和宣传工作。

开始工作前,请然后仔细阅读下面的关于git和github的使用帮助内容:
1. Set Up Git
注:该步骤所有开发人员适用。如果采用ssh key方式使用github repo,则请阅读下面的链接
Generating SSH Keys

2. Create A Repo
注:参与开发Tianchi项目,则不需要该步

3. Fork A Repo
注:该步骤所有开发人员适用。

4. Using Pull Requests
注:该步骤所有开发人员适用。(向fork repo)提交贡献,有两种方式,一种是直接修改代码申请合并,另一种是生成patch。

5. Merging a pull request
注:具有qtcn/tianchi库的提交权限的人员适用该步骤。这里需要根据用户所提交的pull request的内容然后在线或者本地合并代码并提交(如果用户提交的是patch文件,则只需要打补丁提交)

下面,我们列出Mort网友的一篇文章,以供大家学习参考github的使用:http://www.soimort.org/posts/149/

Pull Request的正确打开方式(如何在GitHub上贡献开源项目)

27 Mar 2013, by Mort
GitHub的官方帮助如下:Fork A Repo: https://help.github.com/articles/fork-a-repoUsing Pull Requests: https://help.github.com/articles/using-pull-requestsMerging a pull request: https://help.github.com/articles/merging-a-pull-requestClosing a pull request: https://help.github.com/articles/closing-a-pull-requestTidying up Pull Requests: https://help.github.com/articles/tidying-up-pull-requests
发现这个官方文档写得比较简单,并没有提到开源项目协作方式的一些必要的trick(比如建立topic branch),还有Pull Request的运作细节也没有提到。写个简单的总结补充一下。

Step 1: Fork原项目

这个不解释了,单击一下鼠标就能做到的事情。参见GitHub帮助的原文。
记得用git remote add添加上游远程库的地址,否则无法追踪上游库的更新。

Step 2: 创建你的主题(topic)branch

这一步非常重要。GitHub的帮助里没有提到创建主题branch的必要性,你当然可以直接在原项目的默认branch(如master)上进行工作,但实际上:
如果打算为原项目作贡献,强烈建议你为每个主题创建一个单独的branch。
举例:如果需要修复原项目的一个和Unicode相关的issue:
$ git branch fix-unicode-error$ git checkout fix-unicode-error
然后在自己的主题branch(这里是fix-unicode-error)下进行工作。

Step 3: 在主题branch下完成需要的工作

记得push相应的主题branch到GitHub。

*(针对贡献者)rebase还是merge?

从实用的角度来讲,当你在主题branch下工作,想要导入
下一页 (1/3)
回帖(12):
12楼:先了解tianchi的目录结构构建方法,读几个gui类,看下怎样写,然后照猫画虎写就行了。写Qt库和知 ..
11楼:请问新人应该从哪里开始呢?要是有bug列表之类的我倒可以帮着修复一些bug。
10楼:不错不错

全部回帖(12)»
最新回帖
收藏本帖
发新帖