# 添加子问题

了解如何使用子问题将工作分解为任务。

可以向问题添加子问题，将较大的工作分解为任务。 您的子问题会显示其与父问题的关联关系，从而让您能够跨 GitHub 追踪工作进度。 父问题和子问题进度也可在您的 项目 中使用，从而让您创建视图、进行筛选并按父问题分组。

子问题本身可以包含子问题，使你可以创建完整的问题层次结构，该层次结构可视化整个项目或工作片段并显示问题之间的关系。

每个父问题最多可添加 100 个子问题，并可创建最多八层的嵌套子问题。

## 创建子问题

1. 导航到要添加子问题的问题。
2. 在问题说明的底部，单击“**创建子问题**”。
3. 在对话框中，键入子问题的标题。
4. （可选）键入问题说明，并设置 问题类型和 任何被分配者、标签、项目和里程碑。
5. （可选）如果要继续为此父问题创建子问题，请选择“**创建更多子问题**”。
6. 单击 **“创建”** 。

## 将现有问题添加为子问题

1. 导航到要添加子问题的问题。

2. 在问题说明的底部，单击“创建子问题”旁边的“ <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="View more sub-issue options" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg>创建子问题”。

   ![问题说明下方的子问题部分的屏幕截图。 “查看更多子问题选项”按钮以橙色矩形突出显示。](/assets/images/help/issues/sub-issue-drop-down.png)

3. 在下拉菜单中，单击“**添加现有问题**”。

4. 选择要添加为子问题的问题。
   * 从其中一项建议中选择问题。
   * 在“搜索问题”字段中，键入问题标题或问题编号，然后单击结果。
   * 若要添加来自其他存储库的问题，请单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-arrow-left" aria-label="Back to repository selection" role="img"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg> 存储库名称旁边的并选择其他存储库。

## 使用 GitHub CLI 处理子问题

GitHub CLI 是用于从计算机的命令行使用 GitHub 的开源工具。 从命令行操作时，您可以使用 GitHub CLI 来节省时间并避免切换上下文。 若要了解详细信息 GitHub CLI，请参阅 [关于 GitHub CLI](/zh/enterprise-server@3.22/github-cli/github-cli/about-github-cli)。

要将新问题作为现有父问题的子问题创建，请在 `--parent` 中使用 `gh issue create` 标记。 父项可以通过问题编号或 URL 指定。

```shell
gh issue create --title "TITLE" --body "ISSUE-DESCRIPTION" --parent PARENT-ISSUE-NUMBER
```

若要将现有问题添加为父问题的子问题，请在 `--add-sub-issue` 后使用 `gh issue edit` 标记。 该标记接受以逗号分隔的问题编号或 URL 列表。

```shell
gh issue edit PARENT-ISSUE-NUMBER --add-sub-issue SUB-ISSUE-NUMBER
```

若要将子问题从其父问题中移除，请在父问题上使用 `--remove-sub-issue`，或在子问题上使用 `--remove-parent`。

```shell
gh issue edit PARENT-ISSUE-NUMBER --remove-sub-issue SUB-ISSUE-NUMBER
gh issue edit SUB-ISSUE-NUMBER --remove-parent
```