熟练使用Issues

声明

Github官方声明

This document is an unofficial translation of https://guides.github.com/fea... and is not endorsed, maintained or overseen by GitHub. For official Help articles, please visit https://guides.github.com.node

译者声明

本译文仅供参考,若有疑问请联系(chaoyanglius@outlook.com)译者或者参考原文https://guides.github.com/fea...,感谢您的支持。本做品采用本做品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,如需转载请遵照该协议内容并附上原文连接。git

简介

添加Issues是一种为你的项目跟踪任务(tasks)、强化(enhancements)以及bug的利器。它们有点相似于邮件,除了它们能够与团队的其余成员分享和讨论。大多数软件项目都会有某种bug跟踪器。而Github的跟踪器叫作Issues,在每一个仓库上都会有本身的Issues部分。github

github-issues

例如,咱们能够看一下bootstrap仓库的Issues部分web

bootstrap-issues

由于Github强调合做、引用和美观的文本格式,因此它的issue跟踪十分特殊。下面是一个典型的Github issue:bootstrap

issue

  • title(标题)和description(描述)描述了这个issue是关于什么的.
  • 不一样颜色编码的labels(标签)能够帮助你对issues进行分类和过滤(就像邮箱中的标签同样).
  • milestones(里程碑)就像issues的容器同样。这对于关联特定特色或者项目阶段的issues十分有用(例如Weekly Sprint 9/5-9/16 or Shipping 1.0)。
  • assignee(受委托人)负责在任何指定的时间解决相应的issue.
  • Comments容许访问仓库并提供反馈.

Milestones, Labels, and Assignees

一旦你添加了足够多的issues,你就会发现你很难找到你所关注的issues。有了Milestones, Labels, and Assignees你就能够轻松地对issues进行分类和过滤。markdown

你能够经过点击右侧边栏上相应的齿轮,来改变或添加milestone, assignee, and labels。网络

add-mla

若是你没有看到编辑按钮,那是由于你没有编辑issue的权限。你能够请求仓库管理者将你添加为合做者来得到相应的权限。ide

Milestones

milestone

milestones(里程碑)是对应于项目,功能或时间段的issue组。人们在软件开发时,能够以不一样的方式使用他们。下面是Github上的一些例子:工具

  • Beta Launch — 在你发布项目的Beta版以前,你须要修复的文件bug。这样就能确保你不会漏掉什么。
  • October Sprint — 你应该在八月份以前解决的issues。这样当你有不少事要作时,你能够更好地集中精力。
  • Redesign — 涉及到从新设计项目的issues。这是一种收集想法的好方法。

Lables

label(标签)是管理issues类型的很好的方式。一个issue能够有多个label,并且你也能够一次经过多个label过滤出你想要的issue。学习

labels

Assignees

每一个issue都会有一个assignee(受委托人)——负责推动issue的人。选择Assignees的方法与选择milestones的方法相同,都是经过issue上方的灰色栏。

Notifications, @mentions, and References

经过在issues中使用@mentions和references,你能够通知其余GitHub用户和团队,以及交叉链接issues(在一个issue中提到另外一个issue)。这些提供了一种灵活的方式来让合适的人有效地解决问题,而且易于学习和使用。它们能够在GitHub中的全部文本中起做用——由于它们是GitHub Flavored Markdown文本格式化语法中的一部分。

intro-nmr

若是你想了解更多,能够看看Mastering Markdown.

Notifications

Notifications(通知)是GitHub中随时了解你的issues的一种方式。经过它们,你能够找到仓库的新issues,或者知道何时有人须要你来推动issues。

有两种收到notifications的方式:经过邮箱和网页。你能够在你的设置中配置你接收notifications的方式。若是你计划收到不少notifications,咱们推荐你在Participating中设置为web(网页)+email(邮箱),而在Watching中设置web(网页)。

notifications-setting

经过这些设置,当人们特别说起您时,您会收到电子邮件,而后访问基于网络的界面,就能够随时了解您感兴趣的仓库。

你能够经过notifications界面来访问你的notifications。这个界面对于一次浏览多个通知十分方便,并且也能够将通知标记为已读或者屏蔽消息。你可使用快捷键来加快你的工做流程——在github页面下按下键盘上的?你就能够看到有哪些快捷键了。

notifications

被屏蔽的消息不会在以未读的状态出现,直到你再次被特别地@mentioned(提到)。这样你就能够屏蔽那些你不感兴趣的线程(多是你不熟悉的子系统)。若是你将某个issue标记为已读,若是有人再次对这个消息进行评论的话,它的状态就会改变。

GitHub也会经过邮箱来同步已读/未读状态——若是你在你的邮箱客户端读了一条notification,那么在网页界面上的notification就会自动标记为已读(若是你喜欢这个功能,你就要确保你邮箱客户端容许显示图片)。

@mentions

咱们能够经过@mentions在Github issues引用其余Github用户。咱们能够在任何issues的描述或评论中使用它,也能够@username来向另外一个Github用户发送notification。这很像twitter中的@mentions。

咱们比较喜欢使用/cc语法将人们包含在issue中:

It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug?

/cc @kneath @jresig

若是你指定要包括的人的话,它的效果会很是好,可是许多状况下,咱们是跨团队工做,可能并不知道谁会帮助咱们。@mentions对于GitHub组织中的团队也是起做用的。若是你在@acmeinc组织(organization)中建立了一个叫作browser-bugs的团队,你也能够经过@mentions来引用这个团队:

/cc @acmeinc/browser-bugs

这样的话就会给团队的每一个成员发送notifications。

References

issues常常是独立于其余issues的,或者至少与其余有关系并且你想将它们链接起来。你能够经过输入井号(#)+issue编号来引用issues。

Hey @kneath, I think the problem started in #42

若是你想包含其余仓库的issues,你能够在前面加上仓库的名字,好比像这样:

kneath/example-project#42

有一种引用issues的更有趣的方式就是直接从commits中引用issues。你能够在提交信息中包含issue编号。

commit-issues

当你将提交合并到master分支时,以“Fixes”, “Fixed”, “Fix”, “Closes”, “Closed”, 或者“Close”开头的commits信息会自动关闭相应的issues。

引用这一功能将正在完成的工做与正在跟踪的bug牢牢联系在一块儿,并且它是也将项目历史得以可视化的好方法。

搜索

在每一个页面的上方是一个搜索框,你能够经过它来搜索issues。

search-box

你能够经过下面的方式检索搜索结果:

这篇关于查找issues的帮助文档会向你展现其余的搜索方式:使用建立或更新日期,标签,做者,评论数量,仓库主人或者更多。

概况和报告

在这个issues部分以外,还有两个页面用于帮助总结如何在你的仓库以及全部你的仓库中处理issues。

issues面板

若是你正在寻找一个包含更多项目的全部issues的列表,issues面板将是一个很是好的工具。这个面板的工做方式与issues部分很是类似,可是收集的issues的方式是不一样的:

  • 全部你拥有的和参与的仓库的issues
  • 被分配给你的issues
  • 你建立的issues

若是你使用了organizations(组织),那么issues面板就会为每一个organization划分一个issues面板。

Pulse

在每一个仓库下面都会有一个叫作Pulse的部分——Pulse是该仓库过去一周(或者一天或者三个月)发生的全部活动的快照。

pulse

经过它,你能够在你离开一段时间后,很快地遇上仓库进度而且不想在关注仓库时接收频繁的notifications。

issues的其余用法

issues能够用来跟踪各类东西——而且GitHub是一个上分享和合做issues的好地方。下面是一些咱们最喜欢作的:

结尾

祝贺你读完了这么长的文章!issues管理器在任何开发者的处理中都是一个强有力的工具。我想如今要作的就是修复你的bug了。

相关文章
相关标签/搜索