InfoGrab DocsInfoGrab Docs

변경 사항 제안

요약

리뷰어는 머지 리퀘스트 diff 스레드에서 Markdown 문법으로 코드 변경을 제안할 수 있습니다. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

리뷰어는 머지 리퀘스트 diff 스레드에서 Markdown 문법으로 코드 변경을 제안할 수 있습니다. 머지 리퀘스트 작성자(또는 해당 권한이 있는 다른 사용자)는 GitLab UI에서 제안 중 일부 또는 전부를 적용할 수 있습니다. 제안을 적용하면 변경을 제안한 사용자를 작성자로 하는 커밋이 머지 리퀘스트에 추가됩니다.

제안 생성#

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

  3. 보조 메뉴에서 Changes를 선택합니다.

  4. 변경하려는 코드 줄을 찾습니다.

    • 한 줄만 선택하려면 줄 번호 위에 마우스를 올린 다음 Add a comment to this line([comment])을 선택합니다.
    • 여러 줄을 선택하려면 다음 단계를 따릅니다.
      1. 줄 번호 위에 마우스를 올린 다음 Add a comment to this line([comment])을 선택합니다.

        줄 번호 위에 마우스를 올렸을 때 표시되는 댓글 추가 아이콘.

      2. 원하는 줄이 모두 포함되도록 끌어서 선택 범위를 넓힙니다. 자세한 내용은 여러 줄 제안을 참고합니다.

    • 특정 줄이 아니라 파일 전체에 댓글을 달려면 해당 파일 헤더에서 Comment on this file([comment])을 선택합니다.
  5. 댓글 도구 모음에서 Insert suggestion([doc-code])을 선택합니다. 그러면 다음과 같이 내용이 채워진 코드 블록이 댓글에 삽입됩니다.

    ```suggestion:-0+0
    The content of the line you selected is shown here.
    ```
    
  6. 미리 채워진 코드 블록을 편집해 제안 내용을 작성합니다.

  7. 댓글을 바로 등록하려면 Add comment now를 선택하거나 다음 키보드 단축키를 사용합니다.

    • macOS: Shift+Command+Enter
    • 그 밖의 운영 체제: Shift+Control+Enter
  8. 리뷰를 마칠 때까지 댓글을 게시하지 않으려면 Start a review를 선택하거나 다음 키보드 단축키를 사용합니다.

    • macOS: Command+Enter
    • 그 밖의 운영 체제: Control+Enter

여러 줄 제안#

히스토리
  • GitLab 17.7에서 여러 줄 제안이 코드 블록을 포함한 제안도 렌더링하도록 변경되었습니다.

머지 리퀘스트 diff를 검토할 때 다음 방법으로 한 번의 제안에서 여러 줄(최대 200줄)의 변경을 제안할 수 있습니다.

  • 제안 생성에서 설명한 대로 끌어서 선택합니다. GitLab 이 제안 블록을 대신 생성합니다.
  • 한 줄을 선택한 다음 제안 블록의 범위 오프셋을 직접 수정합니다.

제안 첫 줄의 범위 오프셋은 선택한 줄을 기준으로 한 상대 줄 번호를 나타냅니다. 이 오프셋은 제안이 대체할 줄을 지정합니다. 예를 들어 다음 제안은 댓글을 단 줄의 위 2줄과 아래 2줄을 포함합니다.

```suggestion:-2+2
## Prevent approval by author

By default, the author of a merge request cannot approve it. To change this setting:
```

적용하면 이 제안은 댓글을 단 줄의 위 2줄부터 아래 2줄까지를 대체합니다.

여러 줄에 걸친 제안의 미리 보기.

GitLab은 여러 줄 제안의 범위를 댓글을 단 diff 줄의 위 100줄, 아래 100줄로 제한합니다. 따라서 제안 하나로 최대 201줄까지 변경할 수 있습니다.

여러 줄 댓글은 댓글 본문 위에 해당 댓글의 줄 번호를 표시합니다.

여러 줄 댓글의 범위를 나타내는 줄 번호.

리치 텍스트 편집기 사용#

제안을 삽입할 때 WYSIWYG 리치 텍스트 편집기를 사용하면 UI에서 소스 파일의 줄 번호를 위아래로 조정할 수 있습니다.

변경할 줄을 추가하거나 줄이려면 From line 옆에서 + 또는 **-**를 선택합니다.

여러 줄 제안의 범위를 조정하는 리치 텍스트 편집기 컨트롤.

제안 적용#

사전 요구 사항:

  • 머지 리퀘스트의 작성자이거나 프로젝트의 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.

머지 리퀘스트에서 바로 제안된 변경을 적용하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
  3. 적용하려는 제안이 담긴 댓글을 찾습니다.
    • 제안을 하나씩 적용하려면 Apply suggestion을 선택합니다.
    • 여러 제안을 한 커밋으로 적용하려면 Add suggestion to batch를 선택합니다.
  4. 선택 사항. 변경 내용을 설명하는 커밋 메시지를 직접 입력합니다. 직접 입력하지 않으면 기본 커밋 메시지가 사용됩니다.
  5. Apply를 선택합니다.

제안을 적용하면 GitLab은 다음을 수행합니다.

  • 해당 제안을 Applied로 표시합니다.
  • 댓글 스레드를 해결 처리합니다.
  • 변경 사항을 담은 새 커밋을 생성합니다.
  • (사용자에게 Developer 권한이 있는 경우) 제안된 변경을 머지 리퀘스트 브랜치의 코드베이스에 바로 푸시합니다.

제안 거부#

사전 요구 사항:

  • 머지 리퀘스트의 작성자이거나 프로젝트의 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.

머지 리퀘스트에서 바로 제안된 변경을 거부하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
  3. 거부하려는 제안이 담긴 댓글을 찾습니다.
  4. 선택 사항. 제안을 거부하는 이유를 답글로 남깁니다.
  5. Resolve thread를 선택합니다.

적용된 제안에 대한 커밋 메시지 구성#

GitLab은 제안을 적용할 때 기본 커밋 메시지를 사용하며, 이 메시지는 변경할 수 있습니다. 이 메시지는 자리 표시자를 지원합니다. 예를 들어 기본 메시지 Apply %{suggestions_count} suggestion(s) to %{files_count} file(s)는 서로 다른 파일 두 개에 제안 세 개를 적용하면 다음과 같이 렌더링됩니다.

Apply 3 suggestion(s) to 2 file(s)

포크에서 생성한 머지 리퀘스트는 대상 프로젝트에 정의된 템플릿을 사용합니다. 프로젝트의 필요에 맞게 이 메시지를 사용자 지정하고 다른 자리 표시자 변수를 포함할 수 있습니다.

사전 요구 사항:

  • Maintainer 권한이 있어야 합니다.

설정 방법은 다음과 같습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Merge suggestions로 이동해 필요에 맞게 텍스트를 수정합니다. 이 메시지에 사용할 수 있는 자리 표시자 목록은 지원되는 변수를 참고합니다.

지원되는 변수#

적용된 제안에 대한 커밋 메시지 템플릿은 다음 변수를 지원합니다.

변수 설명 출력 예시
%{branch_name} 제안이 적용된 브랜치의 이름. my-feature-branch
%{files_count} 제안이 적용된 파일 수. 2
%{file_paths} 제안이 적용된 파일의 경로. 경로는 쉼표로 구분됩니다. docs/index.md, docs/about.md
%{project_path} 프로젝트 경로. my-group/my-project
%{project_name} 프로젝트의 사람이 읽을 수 있는 이름. My Project
%{suggestions_count} 적용된 제안 수. 3
%{username} 제안을 적용하는 사용자의 사용자 이름. user_1
%{user_full_name} 제안을 적용하는 사용자의 전체 이름. User 1
%{co_authored_by} Co-authored-by Git 커밋 트레일러 형식의 제안 작성자 이름 및 이메일. Co-authored-by: Zane Doe <zdoe@example.com>
Co-authored-by: Blake Smith <bsmith@example.com>

예를 들어 커밋 메시지가 Addresses user_1's review로 출력되도록 하려면 사용자 지정 텍스트를 Addresses %{username}'s review로 설정합니다.

배치 제안#

사전 요구 사항:

  • 소스 브랜치에 커밋할 수 있는 프로젝트 권한이 있어야 합니다.

브랜치에 추가되는 커밋 수를 줄이려면 여러 제안을 한 커밋으로 적용합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

  3. 적용하려는 제안마다 Add suggestion to batch를 선택합니다.

  4. 선택 사항. 제안을 빼려면 Remove from batch를 선택합니다.

  5. 원하는 제안을 모두 추가한 다음 Apply suggestions를 선택합니다.

    [!warning] 제안 배치를 적용하면 결과 커밋에 사용자가 Git 작성자와 Git 커밋 작성자로 모두 기록됩니다. 프로젝트에 커밋을 추가한 사용자의 승인을 방지하도록 설정했다면 해당 머지 리퀘스트를 승인할 수 없습니다.

  6. 선택 사항. 변경 내용을 설명하는 커밋 메시지를 배치 제안에 직접 입력합니다. 지정하지 않으면 기본 커밋 메시지가 사용됩니다.

관련 주제#

변경 사항 제안

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

리뷰어는 머지 리퀘스트 diff 스레드에서 Markdown 문법으로 코드 변경을 제안할 수 있습니다. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

리뷰어는 머지 리퀘스트 diff 스레드에서 Markdown 문법으로 코드 변경을 제안할 수 있습니다. 머지 리퀘스트 작성자(또는 해당 권한이 있는 다른 사용자)는 GitLab UI에서 제안 중 일부 또는 전부를 적용할 수 있습니다. 제안을 적용하면 변경을 제안한 사용자를 작성자로 하는 커밋이 머지 리퀘스트에 추가됩니다.

제안 생성#

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

  3. 보조 메뉴에서 Changes를 선택합니다.

  4. 변경하려는 코드 줄을 찾습니다.

    • 한 줄만 선택하려면 줄 번호 위에 마우스를 올린 다음 Add a comment to this line([comment])을 선택합니다.
    • 여러 줄을 선택하려면 다음 단계를 따릅니다.
      1. 줄 번호 위에 마우스를 올린 다음 Add a comment to this line([comment])을 선택합니다.

        줄 번호 위에 마우스를 올렸을 때 표시되는 댓글 추가 아이콘.

      2. 원하는 줄이 모두 포함되도록 끌어서 선택 범위를 넓힙니다. 자세한 내용은 여러 줄 제안을 참고합니다.

    • 특정 줄이 아니라 파일 전체에 댓글을 달려면 해당 파일 헤더에서 Comment on this file([comment])을 선택합니다.
  5. 댓글 도구 모음에서 Insert suggestion([doc-code])을 선택합니다. 그러면 다음과 같이 내용이 채워진 코드 블록이 댓글에 삽입됩니다.

    ```suggestion:-0+0
    The content of the line you selected is shown here.
    ```
    
  6. 미리 채워진 코드 블록을 편집해 제안 내용을 작성합니다.

  7. 댓글을 바로 등록하려면 Add comment now를 선택하거나 다음 키보드 단축키를 사용합니다.

    • macOS: Shift+Command+Enter
    • 그 밖의 운영 체제: Shift+Control+Enter
  8. 리뷰를 마칠 때까지 댓글을 게시하지 않으려면 Start a review를 선택하거나 다음 키보드 단축키를 사용합니다.

    • macOS: Command+Enter
    • 그 밖의 운영 체제: Control+Enter

여러 줄 제안#

히스토리
  • GitLab 17.7에서 여러 줄 제안이 코드 블록을 포함한 제안도 렌더링하도록 변경되었습니다.

머지 리퀘스트 diff를 검토할 때 다음 방법으로 한 번의 제안에서 여러 줄(최대 200줄)의 변경을 제안할 수 있습니다.

  • 제안 생성에서 설명한 대로 끌어서 선택합니다. GitLab 이 제안 블록을 대신 생성합니다.
  • 한 줄을 선택한 다음 제안 블록의 범위 오프셋을 직접 수정합니다.

제안 첫 줄의 범위 오프셋은 선택한 줄을 기준으로 한 상대 줄 번호를 나타냅니다. 이 오프셋은 제안이 대체할 줄을 지정합니다. 예를 들어 다음 제안은 댓글을 단 줄의 위 2줄과 아래 2줄을 포함합니다.

```suggestion:-2+2
## Prevent approval by author

By default, the author of a merge request cannot approve it. To change this setting:
```

적용하면 이 제안은 댓글을 단 줄의 위 2줄부터 아래 2줄까지를 대체합니다.

여러 줄에 걸친 제안의 미리 보기.

GitLab은 여러 줄 제안의 범위를 댓글을 단 diff 줄의 위 100줄, 아래 100줄로 제한합니다. 따라서 제안 하나로 최대 201줄까지 변경할 수 있습니다.

여러 줄 댓글은 댓글 본문 위에 해당 댓글의 줄 번호를 표시합니다.

여러 줄 댓글의 범위를 나타내는 줄 번호.

리치 텍스트 편집기 사용#

제안을 삽입할 때 WYSIWYG 리치 텍스트 편집기를 사용하면 UI에서 소스 파일의 줄 번호를 위아래로 조정할 수 있습니다.

변경할 줄을 추가하거나 줄이려면 From line 옆에서 + 또는 **-**를 선택합니다.

여러 줄 제안의 범위를 조정하는 리치 텍스트 편집기 컨트롤.

제안 적용#

사전 요구 사항:

  • 머지 리퀘스트의 작성자이거나 프로젝트의 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.

머지 리퀘스트에서 바로 제안된 변경을 적용하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
  3. 적용하려는 제안이 담긴 댓글을 찾습니다.
    • 제안을 하나씩 적용하려면 Apply suggestion을 선택합니다.
    • 여러 제안을 한 커밋으로 적용하려면 Add suggestion to batch를 선택합니다.
  4. 선택 사항. 변경 내용을 설명하는 커밋 메시지를 직접 입력합니다. 직접 입력하지 않으면 기본 커밋 메시지가 사용됩니다.
  5. Apply를 선택합니다.

제안을 적용하면 GitLab은 다음을 수행합니다.

  • 해당 제안을 Applied로 표시합니다.
  • 댓글 스레드를 해결 처리합니다.
  • 변경 사항을 담은 새 커밋을 생성합니다.
  • (사용자에게 Developer 권한이 있는 경우) 제안된 변경을 머지 리퀘스트 브랜치의 코드베이스에 바로 푸시합니다.

제안 거부#

사전 요구 사항:

  • 머지 리퀘스트의 작성자이거나 프로젝트의 Developer, Maintainer 또는 Owner 권한이 있어야 합니다.

머지 리퀘스트에서 바로 제안된 변경을 거부하려면 다음 단계를 따릅니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
  3. 거부하려는 제안이 담긴 댓글을 찾습니다.
  4. 선택 사항. 제안을 거부하는 이유를 답글로 남깁니다.
  5. Resolve thread를 선택합니다.

적용된 제안에 대한 커밋 메시지 구성#

GitLab은 제안을 적용할 때 기본 커밋 메시지를 사용하며, 이 메시지는 변경할 수 있습니다. 이 메시지는 자리 표시자를 지원합니다. 예를 들어 기본 메시지 Apply %{suggestions_count} suggestion(s) to %{files_count} file(s)는 서로 다른 파일 두 개에 제안 세 개를 적용하면 다음과 같이 렌더링됩니다.

Apply 3 suggestion(s) to 2 file(s)

포크에서 생성한 머지 리퀘스트는 대상 프로젝트에 정의된 템플릿을 사용합니다. 프로젝트의 필요에 맞게 이 메시지를 사용자 지정하고 다른 자리 표시자 변수를 포함할 수 있습니다.

사전 요구 사항:

  • Maintainer 권한이 있어야 합니다.

설정 방법은 다음과 같습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Merge suggestions로 이동해 필요에 맞게 텍스트를 수정합니다. 이 메시지에 사용할 수 있는 자리 표시자 목록은 지원되는 변수를 참고합니다.

지원되는 변수#

적용된 제안에 대한 커밋 메시지 템플릿은 다음 변수를 지원합니다.

변수 설명 출력 예시
%{branch_name} 제안이 적용된 브랜치의 이름. my-feature-branch
%{files_count} 제안이 적용된 파일 수. 2
%{file_paths} 제안이 적용된 파일의 경로. 경로는 쉼표로 구분됩니다. docs/index.md, docs/about.md
%{project_path} 프로젝트 경로. my-group/my-project
%{project_name} 프로젝트의 사람이 읽을 수 있는 이름. My Project
%{suggestions_count} 적용된 제안 수. 3
%{username} 제안을 적용하는 사용자의 사용자 이름. user_1
%{user_full_name} 제안을 적용하는 사용자의 전체 이름. User 1
%{co_authored_by} Co-authored-by Git 커밋 트레일러 형식의 제안 작성자 이름 및 이메일. Co-authored-by: Zane Doe <zdoe@example.com>
Co-authored-by: Blake Smith <bsmith@example.com>

예를 들어 커밋 메시지가 Addresses user_1's review로 출력되도록 하려면 사용자 지정 텍스트를 Addresses %{username}'s review로 설정합니다.

배치 제안#

사전 요구 사항:

  • 소스 브랜치에 커밋할 수 있는 프로젝트 권한이 있어야 합니다.

브랜치에 추가되는 커밋 수를 줄이려면 여러 제안을 한 커밋으로 적용합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.

  3. 적용하려는 제안마다 Add suggestion to batch를 선택합니다.

  4. 선택 사항. 제안을 빼려면 Remove from batch를 선택합니다.

  5. 원하는 제안을 모두 추가한 다음 Apply suggestions를 선택합니다.

    [!warning] 제안 배치를 적용하면 결과 커밋에 사용자가 Git 작성자와 Git 커밋 작성자로 모두 기록됩니다. 프로젝트에 커밋을 추가한 사용자의 승인을 방지하도록 설정했다면 해당 머지 리퀘스트를 승인할 수 없습니다.

  6. 선택 사항. 변경 내용을 설명하는 커밋 메시지를 배치 제안에 직접 입력합니다. 지정하지 않으면 기본 커밋 메시지가 사용됩니다.

관련 주제#