在第2章中介绍了如何使用GitHub Issues和GitHub Projects来管理工作。GitHub Discussions是一个社区论坛,允许成员提出问题,分享更新,并进行开放式的对话。讨论会是一个很好的方式,通过提供一个不同的地方进行长时间的讨论和问答(Q&A)来减少issue和Pull Request的负荷。
要开始使用GitHub Discussions,则必须在存储库的“Settings|Options|Features”中勾选Discussions将其启用。一旦勾选了这个选项,开发者的存储库里就会有一个新的主菜单项,即Discussions。
GitHub Discussions是在本书编写时仍处于测试版的功能。有些功能后来可能已经改变。可以在https://github.com/github/feedback/discussions/参与讨论,当然,这本身就是一个GitHub讨论。
讨论是按类别组织的。开发者可以在讨论中搜索和过滤,就像可以搜索和过滤issue一样。讨论本身可以被加注,并标明评论的数量,同时标明是否被认为是回答。开发者可以将最多四个讨论固定在页面的顶部,以发布一些重要的公告。排行榜显示了在过去30天内回答问题最多的、对他们最有帮助的用户。图4-6显示了讨论的界面。
图4-6 GitHub Discussions界面
开发者可以通过点击类别旁边的编辑按钮来管理类别。可以编辑、删除或添加新的类别。一个类别包括以下内容:
●图标
●标题
●描述(可选)
有三种类别:
1. 问题/答案: 讨论类别可以提出问题,建议答案,并对最佳建议答案进行投票。该类别是唯一允许将评论标记为已回答的类型。
2. 不限成员名额的讨论: 一个可以进行对话的类别,不需要一个明确的问题答案。很适合分享技巧和窍门或只是交流。
3. 公告: 与开发者的社区分享更新和新闻。只有维护者和管理员可以在这些类别中发布新的讨论,但任何人都可以评论和回复。
开发者可以通过单击Discussion|New discussion来新建一个讨论。要开始一个新的讨论,必须选择一个类别,并输入一个标题和一个描述。开发者也可以选择给讨论添加标签。描述有完整的Markdown支持。这包括对issue、Pull Request和其他讨论的引用(#),以及对其他人的提及(@),带有语法高亮的代码,以及附件(见图4-7)。
图4-7 新建讨论
开发者可以评论或直接回复原始的讨论描述,或者可以回复现有的评论。在每一种情况下,都有完整的Markdown支持。开发者可以在所有评论和原始描述中添加表情符号形式的反应,还可以给讨论或评论/回复点赞。在右边的菜单中,可以将一个讨论转换成一个issue。作为管理员或维护者,还可以锁定谈话,把它转移到另一个存储库,把讨论固定在论坛的顶部,或删除它。图4-8给出了一个正在进行的讨论的界面。
图4-8 参与讨论
讨论是与同行异步协作并跨团队边界的好地方。有关讨论的更多信息,请参阅https://docs.github.com/en/discussions。