熟练使用Issues

告别禅道!用GitLab Issues打造轻量级缺陷管理系统(含Label配置模板) 本文为创业团队和敏捷开发者提供了一套基于GitLab Issues的轻量级缺陷管理方案。通过精心设计的标签(Label)配置模板和清晰的状态流转规则,无需额外成本即可实现与代码仓库深度集成的缺陷跟踪流程。文章详细讲解了从提交、处理到验证关闭的全过程,并分享了利用看板、里程碑提升效率的进阶技巧,帮助团队告别臃肿工具,实现高效、一体化的缺陷管理。 阅读详情

声明

Github官方声明

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

译者声明

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

简介

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

github-issues

例如,我们可以看一下bootstrap仓库的Issues部分。

bootstrap-issues

因为Github强调合作、引用和美观的文本格式,所以它的issue跟踪十分特殊。下面是一个典型的Github issue:

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进行分类和过滤。

你可以通过点击右侧边栏上相应的齿轮,来改变或添加milestone, assignee, and labels。

add-mla

如果你没有看到编辑按钮,那是因为你没有编辑issue的权限。你可以请求仓库管理者将你添加为合作者来获得相应的权限。

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了。

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

ghfs:将GitHub Issues挂载为本地文件,优化AI开发工作流 在软件工程实践中,文件系统作为操作系统最基础、最稳定的抽象层,为程序间数据交换提供了统一且可靠的接口。其核心原理在于通过标准化的文件操作(如读写、查找)来管理数据,这种确定性交互模式在自动化脚本和工具集成中具有极高的技术价值。随着生成式AI深度融入开发流程,如何为其提供稳定、易解析的上下文信息成为提升协作效率的关键。传统API交互模式存在指令复杂、输出解析易错等问题,而将结构化数据(如任务管理系统的议题)映射为本地文件,则能直接利用AI对文件操作的天然理解能力。ghfs工具正是基于FUSE技术,将GitHu 阅读详情

相关推荐

最新官方Nessus5.2.1 64位

最新Nessus5.2.1 64位 Windows Vista, 2008, 7, 2012, & 8 (64 bits):

Hello Oninstack

初始环境 yum -y install gcc automake autoconf libtool make wget screen gcc gcc-c++ zlib-devel pcre-devel openssl-devel 下载 安装 ./install 选择mysql5.6 php5.6####################Congratulations#################

andych008的专栏 1万+

自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO

下面是一个关于自适应粒子群优化(Adaptive Particle Swarm Optimization,APSO)的博客,希望可以帮助您。提示:以下是本篇文章正文内容,下面案例可供参考在上面的代码中,表示粒子的数量,表示解空间的维度,表示迭代次数,表示优化的目标函数。在__init__方法中,我们初始化了粒子群的位置和速度,并将每个粒子的位置作为其最优解,将其适应度值初始化为正无穷。我们还初始化了学习因子和惯性权重的参数。在run方法中,我们迭代了次,计算每个粒子的适应度值和最优解。

weixin_52026057的博客 9913

elasticsearch理论

其他资料,以及自我整合而来,拿给自己看的。不喜勿喷 ES理解: es中存储数据的基本单位是索引,比如说你现在要在es中存储一些订单数据,你就应该在es中创建一个索引,order_idx,所有的订单数据就都写到这个索引里面去,一个索引差不多就是相当于是mysql里的一张表。index -> type -> mapping -> document -> fiel...

SBS技术栈-晓白 1895

普冉(PUYA)单片机开发笔记 [完结篇]:使用体会

这一篇是 PY32F003 应用实验的完结篇,总结了对这颗 MCU 的使用体会。我已经把自己实验用的代码打包上传,供各位码神参考。

Tomcat0130 - 代码生涯 9597

MS2107 CVBS转USB2.0 音视频采集芯片,支持1080P@30HZ输出

MS2107 是一款视频和音频采集芯片,支持CVBS转USB2.0 ;可以将 CVBS、S-Video 和音频信号通过 USB接口传送到 PC、智能手机和平板电脑上预览或采集。

TEL18967112838的博客 2075

Elasticsearch基础与理论

介绍 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。 基本概念 先说Elasticsearch的文件存储,Elasticsearch

Ethan Mr.的博客 1417

poincare截点

poincare映射定义比较抽象,简单理解就是每个原始周期取一个点,表现在程序中的思路如下: 以激励的周期T0为poincare的原始周期,设置1个周期取m个点,取N个周期设置T0/m为ode45的步长,每个周期的 i*m个点处取一个点(i=0.0-1.0),把这些点画出来就行了。有几个点就是几倍周期。 (注意:ode45算法是变步长的算法,所以一定要之前自己设置步长,我在这个地方吃了很大一个亏...

小树 3007

Elasticsearch学习入口

今天的博客主题 Elasticsearch——》Elasticsearch学习入口 Elasticsearch知识点不仅多还复杂。不知道是不是没找到准确地切入点.... 给我的感觉就是,这辈子甭想精通它。 这怎么可能。只要功夫深,铁棒磨成针。 加油!!! Elasticsearch官方文档 《官方网站》 《官方文档》7.2版本 《GitHub》 《中文社区...

刘总Java 1525

Dify沙箱权限配置实战:解决‘operation not permitted‘报错的完整指南

本文详细解析了Dify平台中常见的'operation not permitted'报错根源,即沙箱安全机制对系统调用的限制。通过实战步骤,指导用户定位并修改config.yaml配置文件,精准配置allowed_syscalls白名单以解决权限问题,涵盖从文件操作、进程控制到网络通信等关键系统调用的编号详解与配置示例,帮助用户在保障安全的前提下,顺利运行依赖特定库的代码工作流。

tech5的博客 1202

DSMA时序修复避坑指南:当Setup和Hold互卡时,除了调Margin还能做什么?

本文深入探讨DSMA时序修复中的Setup与Hold互锁问题,提供7种高阶策略,包括优先级判断、高级参数组合、单元类型智能替换等,帮助工程师突破时序收敛瓶颈。特别针对fix_eco_timing命令的隐藏参数和物理协同优化进行详细解析,助力芯片设计实现时序收敛。

weixin_30162121的博客 294

es 理论

elasticsearch简介 ​ Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

heqingcool的博客 1406

Python爬虫应对Cloudflare防护:5秒盾+Turnstile验证码实战(AST反混淆+指纹模拟,成功率95%)

Cloudflare 5秒盾+Turnstile验证码的防护核心,是通过“前端JS挑战+多维度指纹校验”确认请求来源的真实性。用AST反混淆还原CF的验证逻辑,避免执行无用代码导致的验证失败;基于真实浏览器采集指纹,确保指纹维度100%匹配真人环境;结合轻量级JS引擎和自动化工具,模拟完整的浏览器执行环境。该方案的绕过成功率可达95%(剩余5%主要是IP或请求频率导致的风控),适用于绝大多数部署CF防护的网站。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1714

经验 - 熟练使用Issues

Issues Issues是一种为你的项目跟踪任务(tasks)、强化(enhancements)以及bug的利器。它们有点类似于邮件,除了它们可以与团队的其他成员分享和讨论。大多数软件项目都会有某种bug跟踪器。而Github的跟踪器叫做Issues,在每个仓库上都会有自己的Issues部分。   Apache Issue Tracking Our project uses JI...

tianyeshiye 487

00 — Intel xe SVM 内核实现精读系列专栏导读

本文系统介绍了Intel Xe GPU的共享虚拟内存(SVM)实现机制。第一部分通过概念地图阐述SVM的六个核心概念及其关系;第二部分通过三个测试用例解析SVM关键功能:fault生命周期验证、madvise与VRAM迁移、跨GPU一致性;第三部分深入内核实现,包括初始化/销毁流程、Page Fault处理、MMU Notifier失效路径、异步垃圾回收、VRAM迁移机制、madvise实现原理,以及与ROCm SVM的对比。文章建议按功能模块顺序学习,从基本概念到测试用例,再深入内核实现细节,最后对比不同

图形/计算GPU的驱动与虚拟化技术分享园地 1659

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

开源共建,学会在 github 上提 issues

开源赋予技术生命,让技术生生不息

国内某知名游戏公司小菜鸡工程师 4003

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Cerebro用户支持渠道:从GitHub Issues到Discord社区

你是否在使用Cerebro过程中遇到过功能疑问或技术难题?作为一款开源生产力工具,Cerebro拥有完善的用户支持体系,从官方文档到社区互助,本文将详细介绍所有可用的支持渠道及使用方法,帮助你快速解决问题并获取最新动态。读完本文后,你将能够熟练运用GitHub Issues提交bug、通过社区论坛获取使用技巧、加入Discord实时交流,以及利用项目文档自助解决常见问题。 ## 官方文档与自助资...

gitblog_00369的博客 638

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

从GitHub Issues到Docker配置:解决Typecho主题lanstar安装中的‘风格不存在‘与语法错误

本文详细记录了解决Typecho主题lanstar安装过程中遇到的‘风格不存在’与‘syntax error’错误的完整过程。通过查阅GitHub Issues社区经验,定位到文件夹命名问题;进而深入Docker容器内部,通过修改php.ini配置中的short_open_tag选项,最终成功修复了PHP语法错误。文章为在Docker环境中部署和调试Typecho主题提供了实用的排查思路与操作指南。

v4w5x6的博客 304

SDRPlusPlus Git工作流培训:新手入门到熟练掌握

还在为SDR++项目协作开发而头疼?不知道如何高效参与这个跨平台SDR软件的开源贡献?本文为你揭秘SDRPlusPlus项目的Git工作流最佳实践,从基础操作到高级技巧一网打尽! ## 📋 读完本文你将掌握 - SDR++项目Git基础配置与克隆技巧 - 分支管理策略与代码提交规范 - 模块化开发与版本控制实战 - 构建系统与Git的完美配合 - 问题追踪与协作开发流程 ## 🚀 项

gitblog_00169的博客 721

AI工具链熟练度:比学历更硬的工程师能力结算单

在AI原生开发时代,'AI编程工具'已从辅助插件升级为新型数字劳动接口。其核心原理在于将自然语言指令实时编译为可执行工程动作——如Cursor的代码图谱推理、Claude Code的上下文锚定、Gemini CLI的终端管道化调用。这种能力直接转化为技术价值:缩短交付周期、降低试错成本、提升跨系统协作确定性。典型应用场景包括自动化代码审查、本地化RAG构建、CI/CD智能补全等。当招聘方不再追问‘你学过什么’,而是验证‘你能否三秒生成带类型提示的异步函数’或‘是否能用--stream参数解析10GB日志’,

aigui1439的博客 486

boost log库,熟练使用Boost.Log日志库?

I am considering starting to use the Boost.Log logging library. Is anyone using Boost.Log? Please share your experiences in this regard.The other libraries I am considering are Apache log4cxx (it seem...

weixin_28736335的博客 150

代码管理工具(六):GitHub 多人协作开发教程(适合小型团队与初学者)

本文介绍了小型团队使用GitHub进行协作开发的核心流程。从创建仓库、添加成员、本地Git配置,到分支策略、功能开发流程、Pull Request评审与合并,以及冲突解决方法。还讲解了如何用Issues和Projects进行任务管理,并提供了提交规范、分支同步等最佳实践建议。通过遵循这些步骤和规范,团队可以建立高效的协作开发流程,提升代码质量和开发效率,为后续引入更高级的CI/CD流程打下基础。

a246808642的博客 3615

我和我的AI战术小队,“夜袭” Dify Issues

我是如何让我的AI战术小队 “夜袭” Dify Issues

weixin_40766789的博客 650

AI实践者生存指南:从工具熟练到社区协作的能力跃迁

AI学习不应止步于模型调用或prompt编写,而需系统掌握问题定位、环境治理、协作表达等可验证的工程能力。当前大量开发者陷入‘能跑通demo却无法解决真实问题’的中间层困境,根源在于工具链熟练度、问题解决力与社群参与力三者脱节。本文聚焦AI工程化落地中的关键断层,结合Prompt结构化建模、本地LLM环境调试(如Ollama GPU启用)、GitHub高响应率提问等实战场景,揭示如何将模糊经验转化为可测量、可复现、可协作的技术动作。特别适用于正在经历数据漂移、环境幽灵、社区冷遇等典型AI实践瓶颈的中级开发者

weixin_33770878的博客 338

brpc 雪崩(Avalanche)现象剖析与防雪崩设计指南

本篇技术指南围绕 brpc 官方文档 [docs/en/avalanche.md](https://link.gitcode.com/i/e7b1729fd9ab5a3dd36e058a1e0037fb)(及其更完整的对应版本 [docs/cn/avalanche.md](https://link.gitcode.com/i/3885592413a5a8c9efe8292fd5b8a567))展开

gitblog_00351的博客 739
上一篇: 中值滤波(C++实现)
下一篇: 在CUDA C/C++中使用共享存储器
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值