# 创建问题依赖项

了解如何创建议题依赖项，以便查看哪些议题被其他工作阻止或阻止其他工作。

通过议题依赖项，可以定义被其他工作阻止或阻止其他工作的议题。

## 将议题标记为被其他议题阻止或阻止其他议题

1. 导航到要为其创建依赖项的议题。
2. 在右侧边栏中，单击“Relationships”\*\*\*\*。
3. 从下拉列表中，选择依赖项选项：
   * 要指示议题依赖于另一个正在完成的议题，请选择“Mark as blocked by”\*\*\*\*。
   * 要指示议题阻止其他议题完成，请选择“Mark as blocking”\*\*\*\*。
4. 在打开的对话框中，搜索并选择被你的议题阻止或阻止你的议题的所有议题。

被阻止的议题在项目面板或存储库的“Issues”页上标记有“Blocked”图标，因此可以轻松识别瓶颈。

## 删除两个议题之间的阻止关系

1. 导航到要从中删除依赖项的议题。
2. 在右侧边栏中，单击“Relationships”\*\*\*\*。
3. 从下拉列表中，选择依赖项选项：
   * 要指示你的议题不再依赖于另一个正在完成的议题，请选择“Change blocked by”\*\*\*\*。
   * 要指示你的议题不再阻止另一个议题完成，请选择“Change blocking”\*\*\*\*。
4. 在打开的对话框中，取消选择不再被你的议题阻止或阻止你的议题的议题。

## 使用 GitHub CLI 管理问题依赖关系

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

若要创建带有依赖项的新议题，请在 `--blocked-by` 上使用 `--blocking` 和 `gh issue create` 标志。 每个标志都可接受以逗号分隔的问题编号或 URL 列表。

```shell
gh issue create --title "TITLE" --body "ISSUE-DESCRIPTION" --blocked-by BLOCKED-BY-ISSUE-NUMBER --blocking BLOCKING-ISSUE-NUMBER
```

若要添加或删除现有问题的依赖项，请在问题编号或 URL 中使用 `gh issue edit` 相应的标志。

```shell
gh issue edit ISSUE-NUMBER --add-blocked-by BLOCKED-BY-ISSUE-NUMBER --add-blocking BLOCKING-ISSUE-NUMBER
gh issue edit ISSUE-NUMBER --remove-blocked-by BLOCKED-BY-ISSUE-NUMBER --remove-blocking BLOCKING-ISSUE-NUMBER
```

若要查看问题的依赖项，请使用 `gh issue view`。 当设置了关系时，输出结果将包含“被锁定”和“锁定”行。

```text
My new issue octo-org/octo-repo#123
Open • monalisa opened 3 days ago • 0 comments
Blocked by: octo-org/octo-repo#200 Database schema migration
Blocking: octo-org/octo-repo#300 Release v2.0

  Here are more details.

View this issue on GitHub: https://github.com/octo-org/octo-repo/issues/123
```

还可以使用 `--json` 标志以及 `blockedBy` 和 `blocking` 字段，以编程方式访问依赖项。

```shell
gh issue view ISSUE-NUMBER --json blockedBy,blocking
```