discussions.md 9.2 KB
Newer Older
Lab机器人's avatar
Lab机器人 已提交
1
# 讨论[](#讨论 "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
2 3 4 5 6 7

您可以在以下位置发表评论:

*   Issues
*   Epics
*   合并要求
Lab机器人's avatar
Lab机器人 已提交
8 9
*   提交
*   diff
Lab机器人's avatar
readme  
Lab机器人 已提交
10

Lab机器人's avatar
Lab机器人 已提交
11
除了标准的评论形式外,您还可以选择以话题讨论的方式创建评论, 收到回复后,评论也将是[话题讨论](#start-a-thread-by-replying-to-a-standard-comment) 的形式。
Lab机器人's avatar
readme  
Lab机器人 已提交
12

Lab机器人's avatar
Lab机器人 已提交
13
评论区域支持[Markdown](../markdown.html)[快速操作](../project/quick_actions.html) , 您可以随时编辑自己的评论,拥有" [maintainer"](../permissions.html)或更高[权限的](../permissions.html)用户也可以编辑其他人的评论。
Lab机器人's avatar
readme  
Lab机器人 已提交
14

Lab机器人's avatar
Lab机器人 已提交
15
您还可以通过回复评论通知电子邮件来回复评论,回复标准评论会创建另一个标准评论。回复主题评论会在主题中创建回复,电子邮件回复支持[Markdown](../markdown.html)[快速操作](../project/quick_actions.html)
Lab机器人's avatar
readme  
Lab机器人 已提交
16

Lab机器人's avatar
Lab机器人 已提交
17
**注意:**每个对象最多只能有 5,000 条评论,例如:issue,epic 及合并请求。
Lab机器人's avatar
readme  
Lab机器人 已提交
18

Lab机器人's avatar
Lab机器人 已提交
19
## 可解决的评论及讨论[](#resolvable-comments-and-threads "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
20

Lab机器人's avatar
Lab机器人 已提交
21
讨论有助于跟踪计划和代码审查的进度。
Lab机器人's avatar
readme  
Lab机器人 已提交
22

Lab机器人's avatar
Lab机器人 已提交
23
合并请求,提交,提交差异和代码片中的每个评论或讨论初始状态都显示为未解决,具有Developer及以上权限的任何人或所检查的更改的作者都可以单独解决这些问题。即使该讨论已解决,如果非成员没有解决他们自己的响应,讨论也不会标记为解决;如果非成员解决了相同的答复,则讨论会被标记为已解决。
Lab机器人's avatar
readme  
Lab机器人 已提交
24

Lab机器人's avatar
Lab机器人 已提交
25
解决所有评论或讨论可以防止您忘记处理反馈,并可以隐藏不再相关的线程。
Lab机器人's avatar
readme  
Lab机器人 已提交
26

Lab机器人's avatar
Lab机器人 已提交
27
### 在合并请求的上下文中发起讨论[](#commit-threads-in-the-context-of-a-merge-request "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
28

Lab机器人's avatar
Lab机器人 已提交
29
对于具有基于提交的工作流的审阅者,在合并请求的上下文中将讨论添加到特定的提交差异上可能很有用。 在以下情况下,这些讨论将通过提交ID更改来保持不变:
Lab机器人's avatar
readme  
Lab机器人 已提交
30

Lab机器人's avatar
Lab机器人 已提交
31 32
*   Rebase后强行提交代码
*   修改提交的评论
Lab机器人's avatar
readme  
Lab机器人 已提交
33

Lab机器人's avatar
Lab机器人 已提交
34
可以按照以下步骤创建提交差异讨论:
Lab机器人's avatar
readme  
Lab机器人 已提交
35

Lab机器人's avatar
Lab机器人 已提交
36
1.  导航到合并请求的" **提交"**选项卡,将显示构成合并请求的提交列表
Lab机器人's avatar
readme  
Lab机器人 已提交
37

Lab机器人's avatar
Lab机器人 已提交
38
2.  进入选定的提交,单击" **更改"**选项卡(在该选项卡中,将仅显示与所选提交不同的内容),并提交评论
Lab机器人's avatar
readme  
Lab机器人 已提交
39

Lab机器人's avatar
Lab机器人 已提交
40
    [![Commit diff discussion in merge request context](/../../docs/img/commit_comment_mr_context.png)](img/commit_comment_mr_context.png)
Lab机器人's avatar
readme  
Lab机器人 已提交
41

Lab机器人's avatar
Lab机器人 已提交
42
3.  以这种方式创建的任何讨论都将显示在合并请求的"**讨论"**选项卡中,并且可以解决
Lab机器人's avatar
readme  
Lab机器人 已提交
43

Lab机器人's avatar
Lab机器人 已提交
44
以这种方式创建的线程将仅出现在原始合并请求中,而不是在项目的" **代码">"提交"**页面下的**提交**中。
Lab机器人's avatar
readme  
Lab机器人 已提交
45

Lab机器人's avatar
Lab机器人 已提交
46
**提示:**在合并请求内的讨论中引用的提交的链接时,它将在当前合并请求的上下文中自动转换为链接。
Lab机器人's avatar
readme  
Lab机器人 已提交
47

Lab机器人's avatar
Lab机器人 已提交
48
### 解决话题跳转[](#jumping-between-unresolved-threads "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
49

Lab机器人's avatar
Lab机器人 已提交
50
当合并请求中包含大量评论时,可能很难跟踪未解决的评论。 您可以使用讨论上"回复"字段旁边的"跳转"按钮在未解决的讨论之间快速跳转。
Lab机器人's avatar
readme  
Lab机器人 已提交
51

Lab机器人's avatar
Lab机器人 已提交
52
您还可以使用快捷键在讨论之间导航:
Lab机器人's avatar
readme  
Lab机器人 已提交
53 54 55 56

*   使用`n`跳到下一个未解决的线程.
*   使用`p`跳到上一个未解决的线程.

Lab机器人's avatar
Lab机器人 已提交
57
### 将评论或讨论标记为已解决[](#marking-a-comment-or-thread-as-resolved "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
58

Lab机器人's avatar
Lab机器人 已提交
59
您可以通过单击**讨论**底部的" **解决讨论"**按钮将其标记为已解决。
Lab机器人's avatar
readme  
Lab机器人 已提交
60

Lab机器人's avatar
Lab机器人 已提交
61
[!["Resolve thread" button](/../../docs/img/resolve_thread_button.png)](img/resolve_thread_button.png)
Lab机器人's avatar
readme  
Lab机器人 已提交
62

Lab机器人's avatar
Lab机器人 已提交
63
或者,您可以将每个评论单独标记为已解决。
Lab机器人's avatar
readme  
Lab机器人 已提交
64

Lab机器人's avatar
Lab机器人 已提交
65
[!["Resolve comment" button](/../../docs/img/resolve_comment_button.png)](img/resolve_comment_button.png)
Lab机器人's avatar
readme  
Lab机器人 已提交
66

Lab机器人's avatar
Lab机器人 已提交
67
### 在合并请求中所有未解决讨论转为 Issue[](#move-all-unresolved-threads-in-a-merge-request-to-an-issue "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
68

Lab机器人's avatar
Lab机器人 已提交
69
要在新 Issue 中解决当前自合并请求中的所有未解决的讨论时,可以单击" **再新问题中解决所有讨论"**的按钮。
Lab机器人's avatar
readme  
Lab机器人 已提交
70

Lab机器人's avatar
Lab机器人 已提交
71
[![Open new issue for all unresolved threads](/../../docs/img/btn_new_issue_for_all_threads.png)](img/btn_new_issue_for_all_threads.png)
Lab机器人's avatar
readme  
Lab机器人 已提交
72

Lab机器人's avatar
Lab机器人 已提交
73
或者,当您的项目仅[在解决所有讨论](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved)后才接受合并请求[](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved) ,在合并请求部件中会有一个创建一个新 Issue 以便稍后解决的选项。
Lab机器人's avatar
readme  
Lab机器人 已提交
74

Lab机器人's avatar
Lab机器人 已提交
75
### 将单个讨论转变成 Issue[](#moving-a-single-thread-to-a-new-issue "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
76

Lab机器人's avatar
Lab机器人 已提交
77
要从单个讨论创建新 Issue时,可以使用" **在新问题中解决此讨论"**按钮。
Lab机器人's avatar
readme  
Lab机器人 已提交
78

Lab机器人's avatar
Lab机器人 已提交
79
您将会跳转到预填充了讨论内容的新 Issue,类似于为一次委派多个讨论而创建的 Issue。创建 Issue 将把该讨论标记为已解决,并在合并请求讨论中添加引用新 Issue 的评论。
Lab机器人's avatar
readme  
Lab机器人 已提交
80 81


Lab机器人's avatar
Lab机器人 已提交
82
### 只有全部讨论内容解决后才允许合并[](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
83

Lab机器人's avatar
Lab机器人 已提交
84
在解决所有讨论之前,将不允许合并合并请求。
Lab机器人's avatar
readme  
Lab机器人 已提交
85

Lab机器人's avatar
Lab机器人 已提交
86
要使该设置生效,需要进入项目的设置页面,选中" **仅在解决所有讨论后才允许合并请求"**复选框,然后单击" **保存"**即可。
Lab机器人's avatar
readme  
Lab机器人 已提交
87

Lab机器人's avatar
Lab机器人 已提交
88
从现在开始,直到所有讨论解决后,您才能从网页上进行合并操作。
Lab机器人's avatar
readme  
Lab机器人 已提交
89 90 91 92 93 94 95 96 97 98 99 100 101

### Automatically resolve merge request diff threads when they become outdated[](#automatically-resolve-merge-request-diff-threads-when-they-become-outdated "Permalink")

在 GitLab 10.0 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14053) .

您可以在使用新的推送修改的行上自动解决合并请求差异线程.

导航到您的项目的设置页面,选中" **使用推送更改的行上****自动解析合并请求差异线程"**复选框,然后单击" **保存"**以使更改生效.

[![Automatically resolve merge request diff threads when they become outdated](img/a283d966822ac6a760d1a650273fbb3b.png)](img/automatically_resolve_outdated_discussions.png)

从现在开始,如果推送使 diff 部分过时,默认情况下将解决 diff 上的所有线程. 不变的线上线程和顶级可解析线程不会自动解析.

Lab机器人's avatar
Lab机器人 已提交
102
## 提交的讨论[](#commit-threads "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
103

Lab机器人's avatar
Lab机器人 已提交
104
您可以在项目的**代码> 提交**下向特定提交添加评论和讨论。
Lab机器人's avatar
readme  
Lab机器人 已提交
105

Lab机器人's avatar
Lab机器人 已提交
106
**注意:**如果在强制推送后更改了提交 ID,则以这种方式创建的讨论将丢失。
Lab机器人's avatar
readme  
Lab机器人 已提交
107

Lab机器人's avatar
Lab机器人 已提交
108
## 讨论的讨论[](#threaded-discussions "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
109

Lab机器人's avatar
Lab机器人 已提交
110
虽然可解决的讨论仅适用于合并请求的文件diff,但也可以添加与文件diff无关的讨论, 您可以针对 Issue,提交,摘要及合并请求添加一个看起来像讨论的特定讨论。
Lab机器人's avatar
readme  
Lab机器人 已提交
111

Lab机器人's avatar
Lab机器人 已提交
112
要开始讨论,请单击" **评论"**按钮切换下拉列表,选择" **开始讨论",**并在准备发布评论时单击" **开始讨论** "按钮。
Lab机器人's avatar
readme  
Lab机器人 已提交
113

Lab机器人's avatar
Lab机器人 已提交
114
这将以单个讨论的形式发起评论,使您可以更大的范围进行特定的讨论。
Lab机器人's avatar
readme  
Lab机器人 已提交
115

Lab机器人's avatar
Lab机器人 已提交
116
## 图片的讨论[](#image-threads "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
117

Lab机器人's avatar
Lab机器人 已提交
118
有时讨论会围绕图片展开。使用图片讨论,您可以轻松地定位图像的特定坐标并在其周围开启讨论。图片讨论在合并请求详情和提交的详情页面中可用。
Lab机器人's avatar
readme  
Lab机器人 已提交
119

Lab机器人's avatar
Lab机器人 已提交
120
要启动图片讨论,请将鼠标悬停在图片上。当您的鼠标指针转换为图标时,表示该图片可用于讨论,此时只需单击图片上的任意位置以创建新的讨论即可。
Lab机器人's avatar
readme  
Lab机器人 已提交
121

Lab机器人's avatar
Lab机器人 已提交
122
单击图片后,将显示新建评论输入框,保存评论后,您会在图像顶部看到一个新的徽章,此徽章代表您的讨论。
Lab机器人's avatar
readme  
Lab机器人 已提交
123

Lab机器人's avatar
Lab机器人 已提交
124
## 锁定讨论[](#lock-discussions "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
125

Lab机器人's avatar
Lab机器人 已提交
126
对于有较多贡献者参与的大型项目,在以下场景中禁用讨论将会非常地有帮助:
Lab机器人's avatar
readme  
Lab机器人 已提交
127

Lab机器人's avatar
Lab机器人 已提交
128 129 130
*   项目维护者已经解决了该问题,无需更多的后续反馈
*   项目维护者已经将新讨论指向了新的 Issue 或合并请求
*   参与讨论者的讨论内容比较随意、辱骂或是无益的产品建议
Lab机器人's avatar
readme  
Lab机器人 已提交
131

Lab机器人's avatar
Lab机器人 已提交
132
在这些情况下,项目中具有开发者权限或更高权限的用户可以使用边栏中的"锁定"按钮来锁定/解锁 问题或合并请求. 对于问题,具有记者权限的用户可以锁定/解锁。
Lab机器人's avatar
readme  
Lab机器人 已提交
133

Lab机器人's avatar
Lab机器人 已提交
134
在锁定的问题或合并请求中,只有团队成员才能添加新评论和编辑现有评论,非团队成员无法添加或编辑评论。
Lab机器人's avatar
readme  
Lab机器人 已提交
135

Lab机器人's avatar
Lab机器人 已提交
136
## 合并请求评审[](#merge-request-reviews "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
137

Lab机器人's avatar
Lab机器人 已提交
138
查看"合并请求"差异时,您可以开始审阅,您可以在"合并请求"中创建**仅**在发布之前才对**您可见的**评论,以便您可以将所有评论作为单个操作提交。
Lab机器人's avatar
readme  
Lab机器人 已提交
139

Lab机器人's avatar
Lab机器人 已提交
140
### 开始评审[](#starting-a-review "Permalink")
Lab机器人's avatar
readme  
Lab机器人 已提交
141

Lab机器人's avatar
Lab机器人 已提交
142
为了开始审阅,只需像往常一样在合并请求的" **更改"**选项卡下对差异添加评论,然后单击" **开始审阅"**按钮。
Lab机器人's avatar
readme  
Lab机器人 已提交
143

Lab机器人's avatar
Lab机器人 已提交
144
当开始审阅后,审阅内容部分中所有的评论都会被标记为`Pending`,同时所有审阅中的评论都会显示两个按钮:
Lab机器人's avatar
readme  
Lab机器人 已提交
145

Lab机器人's avatar
Lab机器人 已提交
146 147
*   **完成审阅** :提交**审阅中的**所有评论,使其他用户可以看到它们
*   **立即添加评论** :提交常规评论,而不是审阅的一部分
Lab机器人's avatar
readme  
Lab机器人 已提交
148

Lab机器人's avatar
Lab机器人 已提交
149
您可以在评论中使用[快速操作](../project/quick_actions.html) , 评论也将会显示提交评论后即将执行的操作。
Lab机器人's avatar
readme  
Lab机器人 已提交
150

Lab机器人's avatar
Lab机器人 已提交
151
要向评论添加更多评论,请照常开始写评论,然后单击**添加到评论**按钮,这会将评论添加到评论中。