Skip to content

Github issue是做什么的? #1

@zhangyazhong

Description

@zhangyazhong

GitHub 的 issue 功能,对个人而言,就如同 TODO list 。

你可以把所有想要在下一步完成的工作,如 feature 添加、bug 修复等,都写成一个个的 issue ,放在上面。既可以作为提醒,也可以统一管理。
另外,每一次 commit 都可以选择性的与某个 issue 关联。比如在 message 中添加 #n,就可以与第 n 个 issue 进行关联。

commit message title, #1

这个提交会作为一个 comment ,出现在编号为1的 issue 记录中。
如果添加:
fix #n
fixes #n
fixed #n
close #n
closes #n
closed #n
比如

commit message title, fix #n

则可以自动关闭第 n 个 issue 。

issue 可以有额外的属性:
Labels,标签。包括 enhancement、bug、invalid 等,表示 issue 的类型,解决的方式。
Milestone,里程碑。通常用来做版本管理,v0.1、v1.0之类的,也可以是任意自定义字符串。一个里程碑对应的所有 issue 都被关闭后,这个里程碑会被自动认为已经达成。
Assignee,责任人。指定这个 issue 由谁负责来解决。

充分利用这些功能,让每一个 commit 的意义更加明确,可以起到了良好的过程管理作用,使得这个 Git 库的项目进度更加显然。而且,这也是项目后期,写文档的绝佳素材。

对团队而言,这就是一个协作系统

现在,很多大公司的软件研发团队协作,都是通过 JIRA 来实现的。
目前也流行很多非代码的团队协作,比如 teambition、http://Tower.im、Worktile、trello 等。
其实,GitHub 的 issue ,就是一个轻量级协作系统。它的 comment 支持 GitHub Flavored Markdown,可以进行内容丰富的交流。Git 本身就是分布式的代码版本控制软件,是为了程序员的协作而设计的。而 issue 的 Assignee 功能,就是这个在线协作系统的核心,足以让一群线上的开发者,一起完成一个软件项目。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions