专栏首页前端全栈开发者GitHub中Issue的使用

GitHub中Issue的使用

在软件开发过程中,开发者们为了跟踪BUG及进行软件相关讨论,进而方便管理,创建了Issue。管理Issue的系统称为BTS(Bug Tracking System,Bug跟踪系统)。当今具有代表性的BTS有RedmineTracBugZilla等。

GitHub自身也加入了BTS的功能。在GitHub上,可以将它作为软件开发者之间的交流工具,多多加以利用。遇到下面几种情况时,各位就可以使用这个功能。

  • 发现软件的BUG并报告
  • 有事想向作者询问、探讨
  • 事先列出今后准备实施的任务

Issue除BUG管理之外还有许多其他用途。在软件开发者圈子中,将Issue用于多种用途的情况已经司空见惯。作为GitHub的功能之一,我们来学习Issue的一些简单用法。

简洁且表现力丰富的描述方法

GitHub的Issue及评论可以使用GFM(Github Flavored Markdown)语法进行描述,从而获得丰富的表现力。比如像下图1那样描述,然后点击Preview,就可以看到图2中那种标记后的效果。

1.png

注意:“#”和后面的文字之间要有一个空格,否则无效

2.png

在文本框的下面可以找到GFM语法样式相关帮助的链接

3.png

1. 语法高亮

假设我们像下面这样,先指定语言再描述代码。

var viewName = function(userName){
 alert("你好," + userName +",欢迎光临!");
}

以上JavaScript代码,这样一来,代码就会自动如图3所示被添加语法高亮,变得直观易读。

4.0.png

2.添加图片

添加图片也十分简单,只需要将图片拖拽到文本框中便可以粘贴图片。

3.添加标签以便整理

Issue可以通过添加标签(Label)来进行整理。添加标签后,Issue的标题后面就会显示标签(图4)。点击标签,还可以只显示该类标签的Issue,GitHub默认给我们设定了几个标签类型。

4.png

4.添加里程碑以便管理

处标签外,还可以通告添加里程碑来管理Issue。通过图5可以看出,项目距离下一个版本还有12个Issue需要实施,整体的14%已经实施完毕并Close。从这里的链接我们可以看出剩余的Issue。

5.png

注意:在添加Issue时常会看到图5中这种贡献规范的链接。改仓库的根目录下添加CONTRIBUTING.md文件后该链接就会显示出来。

6.png

规范的内容一般包括报告时Issue的描述方法、Pull Request时的规则或要求、许可证的相关信息等。为了在开源项目开发中能与其他人和谐相处,请务必在贡献之前仔细阅读这些规则。

5.Tasklist语法

我们使用GFM的一项独有功能,那就是Tasklist(任务列表)语法。首先试着按下面的格式进行描述。

# 本月要做的任务
- [x] 完成部署工具的设置
- [ ] 博客文章更新
- [ ] 实现抽奖功能

这样一来,这段文字就会呗标记成复选框列表的样式。这个复选框列表可以直接勾选或者取消,不必打开Issue的编辑页面重新编辑,十分方便。

7.png

通过提交信息操作Issue

在GitHub上,只要按照特定的格式描述提交信息,就可以像一般BTS带有的功能那样对Issue进行操作。

Close Issue

如果一个处于Open状态的Issue已经处理完毕,只要在该提交中以下列任意一种格式描述提交信息,对应的Issue就会被Close。

  • fix #24
  • fixes #24
  • fixed #24
  • close #24
  • closes #24
  • closed #24
  • resolve #24
  • resolves #24
  • resolved #24

利用这个方法,每次提交并Push之后,就不必再大费周章地到GitHub的Issue中寻找相应的Issue手动Close,省去了不少麻烦。像这样,只要按照特定的格式描述提交信息,Github就会自动识别并处理,很多GitHub之外的BTS也实现了这一功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GitHub中的Pull Request和Pulse详解

    Pull Request是用户修改代码后向对方仓库发送采纳的请求功能,也是GitHub的核心功能,正式因为有了这个功能,才会让众多开发者轻松地加入到开源开发的队...

    Dunizb
  • 【小技巧】几个好用的Chrome DevTools配置

    在Firefox中,status显示有颜色区分,且状态、方法和地址的顺序阅读更加友好,喜欢Firefox的朋友可以试试

    Dunizb
  • 前端要知道的RESTful API架构风格

    前端程序员在开发完页面后总是要对接口的,跟后端联调有时候还占用蛮大的时间的,那么你了解你和后端对的接口都是什么风格吗,你们公司接口设计的如何,你使用愉快吗?自己...

    Dunizb
  • 如何使用 Issue 管理软件项目?

    软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。 本文介绍 Issue 的基本用法。 ? 一、Issue 是什么? Issue 指...

    ruanyf
  • 你真的会用 Issue 吗?

    大家对 Issue 一定不陌生,它灵活又实用,可以用来做 Bug 跟踪、需求管理、项目管理、交流探讨、写文章…… 不少新用户在后台问我们,如何优雅地使用 Iss...

    码云Gitee
  • Flink的特性

    Flink作为新一代的大数据项目,除了尽量匹配其他大数据项目所提供的能力之外,还拥有一些不错的特性,列举如下:

    用户7283316
  • Python的系统管理_06_pytho

    res =subprocess.Popen(['uname','-sv'],stdout=subprocess.PIPE)

    py3study
  • 微服务框架saf-2:容器化部署allinone-demo

    (6).容器化部署saf-boot-starter-sample-allinone-service

    千里行走
  • 通过小事例来重温 ES10 几个新特性

    ES10 虽然没有像 ES6 那么多新特性,但 ES10 仍然有一些有用的特性。文本通过简单示例来介绍了 ES10 新出来的特性。通过这种方式,咱们就可以快速理...

    前端小智@大迁世界
  • 福利贴:我为NET狂-----大前端专帖

    http://dnt.dkill.net/Article/Detail/321 本来前端的东西是不想开个专贴的,这样网友容易产生依赖,前端的东西看看书,平时仿照...

    逸鹏

扫码关注云+社区

领取腾讯云代金券