快速在GitHub搭建一个规范的开源项目(一)

前言

最近橙子的团队在研究如何将团队内部的框架开源出来,以便让更多的人来参与到我们这几个框架的建设中来。其实,开源本身是一件非常好的事情。现代IT行业之所以如此快速的发展与开源脱离不了干系。很多人也许都有搭建自己的开源项目,然后发现过了几个月,项目还是寥寥数个star,也没啥人给你提issue。说到底还是你的开源项目不够规范,内容太杂乱。

接下来,橙子一共分五篇文章来给大家讲述一下,到底如何搭建一个规范的开源项目。
假设现在有一个团队想把自己团队的项目给开源出来,我们暂且称这个团队为Orange Team。(如果你们团队只有你一个人也没关系,你可以既是developer又是Team Leader)

创建团队

如果你的开源项目是你一个人维护那么请忽略这个步骤。
首先打开GitHub,点击你的个人👥头像,选择settings,然后再personal settings下面找到Organizations。这里你可以创建一个团队。
在这里插入图片描述
作为创建者,你也将成为这个团队的管理员。接下来你就可以邀请其他团队成员加入你的团队了。

创建repository

在这里插入图片描述
这里创建好repository,并且初始化好了。你们就可以制定好项目计划,然后进行开发。

版本规范

大一点的开源项目版本号都是采用AA:BB:CC的格式。
AA:表示主版本号,一般表示项目的重大架构变更;
BB:表示次版本号,一般表示较大范围的功能增加和变化,及bug修复;
CC:表示增量版本号,一般表示修复bug(可附带添加或优化小feature)。
具体我们可以参考例如dubbo
在这里插入图片描述

代码开发流程

在每一次进行版本迭代之前都需要建立版本的分支,禁止直接向master分支提交代码。比如项目需要发布第一个版本,我们可以创建1.0.0-dev的分支,团队的开发在1.0.0-dev分支下创建自己的开发分支,比如张三1.0.0-zhangsan,李四1.0.0-lisi。

代码提交需要填写指定的PR模板,对于外部的PR也是一样。
创建PR模板方式如下
1.打开项目主页,点击create new file
在这里插入图片描述
2.如果想让你的模板在代码中不可见,可以先创建一个.github根目录,然后点击create new file在此目录下。模板命名可以是pull_request_template.md
在这里插入图片描述
3.参考模板

## 更改目的
eg:fix XX bug

## 简要的变更记录
eg: 更改了xx文件

## 验证人
eg: /cc @wangwu

在这里插入图片描述
4.创建PR后的效果
在这里插入图片描述

在版本开发完毕并且测试通过的情况下,可以由PM创建1.0.0-release分支。将dev分支的代码合并到release分支下。然后发布对应版本包,并且创建tag(tag命名版本前面加“v”,例如:v1.0.2,v2.3.3 等。),注明New Features、Bug Fixes、Documentation、 Dependency Upgrades、Contributors并且附上源代码包。支持使用markdown格式优化版面。

更多GitHub的用法请参考此文档:github使用指南
下一篇我们来讲解如何合理的创建和处理issue见快速在GitHub搭建一个规范的开源项目(二)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是 FEX 团队对外首页的源码,将文章提交到这里后就会在 http://fex.baidu.com 上展现。 环境搭建 这个系统是基于 jekyll 搭建的,为了方便本地编辑和看效果,需要将本项目 clone 至本地环境,并在本机安装 jekyll 环境。 Mac/Linux 下 请使用如下命令(其中 gem 是 Ruby  的包管理工具)安装 jekyll(如果遇到权限问题请在前面加 sudo): gem install jekyll 如果在 Mac 下安装遇到编译报错,可以试试用 Brew 安装新版 ruby brew install ruby Windows 下 jekyll 官方对 winodws 的支持程度很低,推荐使用 Building portable Jekyll for Windows,另外这里附上网盘地址方便大家下载:PortableJekyll 1.3.0[百度网盘] 下边以 PortableJekyll 的解压目录为 e:\jekyll 介绍环境变量的配置: 在环境变量中新建变量: JEKYLL_HOME 取值为 e:\jekyll 为 PATH 变量添加如下内容:%JEKYLL_HOME%\ruby\bin;%JEKYLL_HOME%\devkit\bin;%JEKYLL_HOME%\git\bin;%JEKYLL_HOME%\Python\App;%JEKYLL_HOME%\devkit\mingw\bin;%JEKYLL_HOME%\curl\bin 完成 jekyll 配置后,通过如下命令检查是否配置成功: jekyll -h 本地预览 完成 jekyll 的安装后,在源码目录运行如下命令,就能在 localhost:4000 中预览了: jekyll serve --watch 如何编辑? 新建草稿 新文章编写时请先浏览 _drafts 目录,这里存放的是草稿,它不会在首页显示,请参考里面的 2014-05-06-empty.md 文件,新建文件名要遵循这样的格式,以日期开头,后面接着是文章的对外 url 子路径,中间以 - 分隔,后续标题有多个单词时也以 - 作为分隔符,建议只用英文单词或拼音,目前不确定中文是否可行。 需要注意的是草稿不会出现在首页列表中,如果想本地预览草稿效果,可以加 --drafts 参数,如下所示: jekyll serve --watch --drafts 个人信息 每篇文章都会附上个人相关信息,所以请先编辑 _data\authors.yml 文件,按照其中的格式新增一项,需要注意以下几点: 这是 YAML 格式,每行的开头是两个空格,而不是 TAB author 字段需要和你所写文章开头的 author 属性保持一致,这样才能正确展现 url 字段可以连接到个人主页或微博等 intro 是个人简介,会在每篇文章中展现 avatar 是个人头像,尺寸暂定 120 x 120,请放在 img/avatar 目录下 为何不用 gavatar?因为不是所有人都希望公开自己的邮箱,而且这样操作起来会简单些 图片存放地 请将图片放在 img 目录里,每篇文章新建一个目录,在文章中的引用方式为: ![](/img/<文章名>/xx.png) 发布 如果觉得文章可以对外展示了,不过还得先找个 280x150 的图片作为首页封面,放到 /img/<文章名>/cover.jpg 下,然后将文章移到 _posts 目录下,提交后就可以了。 小技巧 jekyll 最终生成的文件会放在 _site 目录下,可以通过浏览这个目录来确认效果 img 目录的主要用途是放图片,但也可以放其它文件静态,如 zip 等 不常见的语法高亮缩写可以参考这里 写什么? 虽然对外会觉得这是团队 Blog,但其实准确来说这里是每个团队成员的个人分享,每篇文章都只代表个人观点,所以如果有什么值得分享的话题,请不要有太多顾虑,想写什么就写什么,借助这个平台来提升自己的影响力吧。 具体内容形式将包括但不限于: 技术介绍、经验总结 FEX 新开源项目及升级版本介绍 优秀文章的翻译 优秀资源(书籍、开源项目)等的推荐 内部分享的 PPT(推荐使用 Speaker Deck 存放) 另外,如果你对目前界面的哪些细节不满意,也欢迎直接修改相关源码。 对于写作风格的约定 请参考 Markdown 编写规范,另外在根目录下个脚本 format.js,可以通过它来自动加空格。 其它问题 为什么某篇文章没显示出来? 你确定放到 _posts 下了是吧? 有可能是用了 {% xxx }%,因为页面会当成 Liquid 模板进行解析,所以请使用 {% raw  %}{% xxx %}{% endraw %} 来包含起来 那你肯定没在本地预览过,估计是有报错 文章发布前需要找谁审核么? 不需要,因为每篇文章都是以个人名义发表的 为何不用 WordPress? WordPress 环境搭建麻烦,不利于修改 简单来说就是:用起来不爽 为何不用时下流行的 c? Hexo 是将生成后的页面放 github 中,多人编辑出现冲突时合并麻烦 我不是 FEX 团队成员,可以在这里发表文章么? 真的?可以啊,请提 pull request

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值