基于github+jira的社区贡献方法

发表于:2016-10-14 10:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:flykobe    来源:51Testing软件测试网原创

  Hadoop生态主要是基于GitHub和jira构建开源社区,今年希望可以参与进去,记录使用方法如下。
  由于每个开源项目的要求都可能不同,所以在开始之前,必须先阅读其Contribute页面,一般从README里就可以找到链接。
  JIRA操作
  当有了代码修改想法时,不论是bugfix,还是功能改进,都可以到项目JIRA页面上,提交一个issue,用英文大致描述想要做的事情。这里需要注意两点:
  提交issue前,先用英文关键词search一下,确认该功能没有实现、且没有其他人提交类似issue
  1、issue粒度最好足够细,一个独立的小功能就好,类似我们敏捷中的task卡片。
  2、如果想自己动手提交代码,可以将该issue assign给自己。真正动手时,可以将issue状态修改为 in progress。
  GitHub 操作
  在正式coding前,得在github上找到该项目,点击fork按钮fork出一个自己的分支,这样后续在这个分支上的工作只要不被管理员merge回去,就不会有任何影响。
  git操作
  这时可以建立本地代码仓库了:
  git clone https://<path-to-your-repo> <your-local-prj-name> 将远端项目拉取到本地
  cd <your-local-prj-name>
  git checkout -b <new-branch-name> 建立一个分支,该issue相关的功能都会在这个分支里进行(git与svn不同,git的分支很轻量级,可以认为是功能隔离的单位)
  git push origin <new-branch-name>提交新分支,这时github上自己的project下这个分支可见、但为空。
  这时可以在新分支上编码了,完成并通过自测后,可以先提交到分支上:
  git add <new-files>
  git commit -m ‘comments’
  git push origin <new-branch-name> 这时代码在新分支上可见,但放心,不会影响到社区版本
  如果编码持续了一段时间,可能需要从社区版本更新代码下来:
  git remote add upstream https://<path-to-public-repo> 添加社区版本为upstream源
  git fetch upstream 下载社区版本的更新到本地隐藏目录
  git checkout master 切换到master分支
  git merge upstream/master 合并代码到本地master分支
  git push origin master 将合并的结果提交到自己远端的master分支
  GitHub操作
  这时需要让别人看到自己的代码了,在github自己的project页面上,点击 pull request发起请求。在收到别人回复时,可以进行交流、重复代码修改过程。
  JIRA操作
  这时还需要将pull request与JIRA关联起来,点击issue页面More/Link,添加一个Web Link,将pull reqeust的uri填进去,link text可以写PR #xxx。
  最后,当pull request完成,即被merge回社区或被彻底拒绝后,可以在git里删除分支,并且关闭issue。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号