머지 리퀘스트의 변경 사항
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
머지 리퀘스트는 리포지터리의 브랜치에 있는 파일에 대한 일련의 변경 사항을 제안합니다. 이 예시는 텍스트 파일의 변경 사항을 보여 줍니다. diff의 각 파일 헤더에는 다음이 있습니다: diff에는 파일 왼쪽 여백에 탐색과 댓글을 돕는 도구도 포함됩니다:
머지 리퀘스트는 리포지터리의 브랜치에 있는 파일에 대한 일련의 변경 사항을 제안합니다. GitLab은 이러한 변경 사항을 현재 상태와 제안된 변경 사항 사이의 diff(차이)로 표시합니다. 기본적으로 diff는 제안된 변경 사항(소스 브랜치)을 대상 브랜치와 비교합니다. 기본적으로 GitLab은 파일의 변경된 부분만 표시합니다.
이 예시는 텍스트 파일의 변경 사항을 보여 줍니다. 기본 구문 강조 테마에서는 다음과 같습니다:
- 현재 버전은 빨간색으로 표시되고 줄 앞에 빼기(
-) 기호가 붙습니다. - 제안된 버전은 녹색으로 표시되고 줄 앞에 더하기(
+) 기호가 붙습니다.

diff의 각 파일 헤더에는 다음이 있습니다:
- Hide file contents ([chevron-down]): 이 파일의 모든 변경 사항을 숨깁니다.
- Path: 이 파일의 전체 경로입니다. 이 경로를 복사하려면 Copy file path ([copy-to-clipboard])를 선택합니다.
- Lines changed: 이 파일에서 추가되고 제거된 줄 수이며
+2 -2형식으로 표시됩니다. - Viewed: 이 체크박스를 선택하면 파일이 다시 변경될 때까지 파일을 확인된 것으로 표시합니다.
- Comment on this file ([comment]): 댓글을 특정 줄에 고정하지 않고 파일에 일반 댓글을 남깁니다.
- Options: (⋮)를 선택하면 파일 보기 옵션이 더 표시됩니다.
diff에는 파일 왼쪽 여백에 탐색과 댓글을 돕는 도구도 포함됩니다:
- 컨텍스트 더 보기: Previous 20 lines ([expand-up])를 선택하면 변경되지 않은 이전 20줄이 표시되고, Next 20 lines ([expand-down])를 선택하면 변경되지 않은 다음 20줄이 표시됩니다.
- 줄 번호는 두 칼럼으로 표시됩니다. 이전 줄 번호는 왼쪽에,
제안된 줄 번호는 오른쪽에 표시됩니다. 줄과 상호 작용하는 방법은 다음과 같습니다:
- 댓글 옵션을 표시하려면 줄 번호 위에 마우스를 올립니다.
- 줄 링크를 복사하려면 Command를 누른 상태로 줄 번호를 선택(또는 오른쪽 클릭)한 다음 Copy link address를 선택합니다.
- 줄을 강조 표시하려면 줄 번호를 선택합니다.
변경된 파일 목록 표시#
머지 리퀘스트에서 변경된 파일 목록을 보려면 파일 브라우저를 사용합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- 파일 트리를 표시하려면 Show file browser ([file-tree])를 선택하거나
F를 누릅니다.
- 중첩 구조를 보여 주는 트리 보기를 사용하려면 Tree view ([file-tree])를 선택합니다.
- 중첩이 없는 파일 목록을 보려면 List view ([list-bulleted])를 선택합니다.
머지 리퀘스트의 모든 변경 사항 표시#
머지 리퀘스트에 포함된 변경 사항의 diff를 보려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- 머지 리퀘스트에서 많은 파일이 변경되었다면 특정 파일로 바로 이동할 수 있습니다:
- 파일 트리를 표시하려면 Show file browser ([file-tree])를 선택하거나 F를 누릅니다.
- 보려는 파일을 선택합니다.
- 파일 브라우저를 숨기려면 Show file browser를 선택하거나 F를 다시 누릅니다.
GitLab은 성능을 개선하기 위해 변경 사항이 많은 파일을 축소하고 다음 메시지를 표시합니다: Some changes are not shown. 해당 파일의 변경 사항을 보려면 Expand file을 선택합니다.
연결된 파일을 먼저 표시#
히스토리
- GitLab 16.9에서
pinned_file이라는 이름의 기능 플래그와 함께 도입되었습니다. 기본값은 비활성화입니다. - GitLab 17.4에서 일반 공급되었습니다. 기능 플래그
pinned_file은 제거되었습니다.
팀원과 머지 리퀘스트 링크를 공유할 때 변경된 파일 목록에서 특정 파일을 먼저 보여 주고 싶을 수 있습니다. 원하는 파일을 먼저 표시하는 머지 리퀘스트 링크를 복사하려면 다음을 수행합니다:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
-
머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
-
먼저 표시할 파일을 찾습니다. 파일 이름을 오른쪽 클릭해 해당 링크를 복사합니다.
-
그 링크를 방문하면 선택한 파일이 목록 맨 위에 표시됩니다. 파일 브라우저에는 파일 이름 옆에 링크 아이콘([link])이 표시됩니다:

생성된 파일 축소#
리뷰어가 코드 리뷰에 필요한 파일에 집중할 수 있도록 GitLab은 흔히 쓰이는 몇 가지 유형의 생성된 파일을 축소합니다. 이러한 파일은 코드 리뷰가 거의 필요하지 않으므로 GitLab 이 기본적으로 축소합니다:
.nib,.xcworkspacedata,.xcuserstate확장자를 가진 파일.package-lock.json이나Gopkg.lock같은 패키지 잠금 파일.node_modules폴더에 있는 파일.- 최소화된
js또는css파일. - 소스 맵 참조 파일.
- 프로토콜 버퍼 컴파일러가 생성한 파일을 포함해 생성된 Go 파일.
파일이나 경로를 생성된 것으로 표시하려면 .gitattributes 파일에서
해당 항목에 gitlab-generated 속성을 설정합니다.
축소된 파일 보기#
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- 보려는 파일을 찾아 Expand file을 선택합니다.
파일 유형의 축소 동작 구성#
파일 유형의 기본 축소 동작을 변경하려면 다음을 수행합니다:
-
프로젝트의 루트 디렉터리에
.gitattributes파일이 없으면 이 이름으로 빈 파일을 만듭니다. -
수정하려는 파일 유형마다 파일 확장자와 원하는 동작을 선언하는 줄을
.gitattributes파일에 추가합니다:# Collapse all files with a .txt extension *.txt gitlab-generated # Collapse all files within the docs directory docs/** gitlab-generated # Do not collapse package-lock.json package-lock.json -gitlab-generated -
변경 사항을 커밋하고 푸시한 다음 기본 브랜치로 머지합니다.
변경 사항이 기본 브랜치로 머지되면 프로젝트에 있는 해당 유형의 모든 파일이 머지 리퀘스트에서 이 동작을 사용합니다.
GitLab 이 생성된 파일을 감지하는 방식에 대한 기술적인 세부 정보는
go-enry 리포지터리를 참고합니다.
한 번에 파일 하나만 표시#
규모가 큰 머지 리퀘스트에서는 한 번에 파일 하나씩 리뷰할 수 있습니다. 이 설정은 사용자 환경 설정에서 변경하거나 머지 리퀘스트를 리뷰할 때 변경할 수 있습니다. 머지 리퀘스트에서 이 설정을 변경하면 사용자 설정도 함께 업데이트됩니다.
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- Preferences ([preferences])를 선택합니다.
- Show one file at a time를 선택하거나 선택을 해제합니다.
- 오른쪽 위에서 아바타를 선택합니다.
- Preferences를 선택합니다.
- Behavior 섹션으로 스크롤해 Show one file at a time on merge request's Changes tab 체크박스를 선택합니다.
- Save changes를 선택합니다.
이 설정을 활성화한 상태에서 볼 파일을 다른 파일로 바꾸려면 다음 중 하나를 수행합니다:
- 파일 끝까지 스크롤해 Prev 또는 Next를 선택합니다.
- 키보드 단축키가 활성화되어 있으면 [, ], k, j를 누릅니다.
- Show file browser ([file-tree])를 선택하고 볼 파일을 다른 파일로 선택합니다.
변경 사항 비교#
머지 리퀘스트의 변경 사항은 다음 중 한 가지 방식으로 볼 수 있습니다:
- 인라인. 변경 사항을 세로로 표시합니다. 줄의 이전 버전이 먼저 표시되고 새 버전이 바로 아래에 표시됩니다. 인라인 모드는 한 줄짜리 변경에 더 적합한 경우가 많습니다.
- 나란히 보기. 줄의 이전 버전과 새 버전을 별도의 칼럼에 표시합니다. 나란히 보기 모드는 연속된 줄이 많이 바뀌는 변경에 더 적합한 경우가 많습니다.
머지 리퀘스트가 변경된 줄을 표시하는 방식을 바꾸려면 다음을 수행합니다:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
-
제목 아래에서 Changes를 선택합니다.
-
Preferences ([preferences])를 선택합니다. Side-by-side 또는 Inline 중 하나를 선택합니다. 이 예시는 GitLab 이 같은 변경을 인라인 모드와 나란히 보기 모드에서 각각 어떻게 렌더링하는지 보여 줍니다:


Rapid Diffs#
히스토리
- GitLab 18.0에서
rapid_diffs_on_mr_show라는 이름의 기능 플래그와 함께 도입되었습니다. 기본값은 비활성화입니다. - GitLab 19.0에서 GitLab.com과 GitLab Self-Managed에 활성화되었습니다.
- GitLab 19.4에서
rapid_diffs_default_on_mr_show라는 이름의 기능 플래그와 함께 GitLab.com의 머지 리퀘스트 Changes 탭에서 기본 환경으로 설정되었습니다. 기본값은 활성화입니다. - 머지 리퀘스트 Changes 탭의 기본 환경이 GitLab 19.4에서 GitLab Self-Managed와 GitLab Dedicated에 활성화되었습니다.
Feature flag이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참고합니다.
Rapid Diffs는 머지 리퀘스트의 코드 변경 사항을 더 빠르게 불러오고 다루는 방식입니다. diff를 리뷰할 때 첫 번째 파일이 보이기까지 걸리는 시간을 줄입니다.
Rapid Diffs는 베타입니다. 기존 diff 환경의 일부 기능은 제공되지 않습니다. 알려진 제한 목록은 피드백 이슈 596236을 참고합니다. 기능 동등성 로드맵은 에픽 19380을 참고합니다.
Rapid Diffs 켜기#
Rapid Diffs는 머지 리퀘스트 Changes 탭에서 기본적으로 켜져 있습니다.
이전에 껐다면 모든 머지 리퀘스트에 대해 다시 켤 수 있습니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- Try Rapid Diffs를 선택합니다.
새 환경으로 페이지가 다시 로드됩니다. 이 설정은 세션 간에 유지됩니다.
Rapid Diffs에 대한 피드백을 남기려면 Rapid Diffs > Leave feedback을 선택합니다.
Rapid Diffs 끄기#
Rapid Diffs를 끄고 기존 diff 로딩 환경으로 돌아가려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트 제목 아래에서 Changes를 선택합니다.
- 드롭다운 목록을 열려면 Rapid Diffs를 선택합니다.
- Switch to classic loading을 선택합니다.
머지 리퀘스트에서 코드 설명#
Model information
- 기본 LLM
- Amazon Q 용 LLM: Amazon Q Developer
히스토리
- GitLab 17.6 및 이후 버전에서 GitLab Duo 애드온을 요구하도록 변경되었습니다.
- GitLab 18.6에서 기본 LLM을 Claude Sonnet 4.5로 업데이트했습니다.
다른 사람이 만든 코드를 이해하는 데 시간을 많이 쓰거나 익숙하지 않은 언어로 작성된 코드를 이해하기 어렵다면 GitLab Duo에 코드를 설명해 달라고 요청할 수 있습니다.
사전 요구 사항:
- 실험 및 베타 기능 설정이 활성화된 그룹에 하나 이상 속해 있어야 합니다.
- 프로젝트를 볼 수 있는 액세스 권한이 있어야 합니다.
머지 리퀘스트의 코드를 설명하려면 다음을 수행합니다:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Code > Merge requests를 선택한 다음 머지 리퀘스트를 선택합니다.
-
Changes를 선택합니다.
-
설명을 받으려는 파일에서 점 세 개(⋮)를 선택한 다음 View File @ $SHA를 선택합니다.
별도의 브라우저 탭이 열리고 최신 변경 사항이 반영된 전체 파일이 표시됩니다.
-
새 탭에서 설명을 받으려는 줄을 선택합니다.
-
왼쪽에서 물음표([question])를 선택합니다. 이 아이콘을 보려면 선택 범위의 첫 줄까지 스크롤해야 할 수 있습니다.

GitLab Duo Chat 이 코드를 설명합니다. 설명이 생성되기까지 잠시 걸릴 수 있습니다.
원한다면 설명의 품질에 대한 피드백을 남길 수 있습니다.
GitLab은 대규모 언어 모델이 정확한 결과를 산출한다고 보장할 수 없습니다. 설명은 주의해서 사용합니다.
다음에서도 코드 설명을 받을 수 있습니다:
댓글 확장 또는 축소#
코드 변경 사항을 리뷰할 때 인라인 댓글을 숨길 수 있습니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 제목 아래에서 Changes를 선택합니다.
- 숨기려는 댓글이 있는 파일까지 스크롤합니다.
- 댓글이 달린 줄까지 스크롤합니다. 여백에서 Collapse ([collapse])를 선택합니다:

인라인 댓글을 다시 확장해 표시하려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 제목 아래에서 Changes를 선택합니다.
- 표시하려는 축소된 댓글이 있는 파일까지 스크롤합니다.
- 댓글이 달린 줄까지 스크롤합니다. 여백에서 사용자 아바타를 선택합니다:

공백 변경 사항 무시#
공백 변경 사항은 머지 리퀘스트에서 실질적인 변경 사항을 알아보기 어렵게 만들 수 있습니다. 공백 변경 사항을 숨기거나 표시하도록 선택할 수 있습니다:
-
상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
-
제목 아래에서 Changes를 선택합니다.
-
변경된 파일 목록 앞에서 Preferences ([preferences])를 선택합니다.
-
Show whitespace changes를 선택하거나 선택을 해제합니다:

파일을 확인된 것으로 표시#
파일이 많은 머지 리퀘스트를 여러 번 리뷰할 때는 이미 리뷰한 파일을 건너뛸 수 있습니다. 지난 리뷰 이후 변경되지 않은 파일을 숨기려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 제목 아래에서 Changes를 선택합니다.
- 파일 헤더에서 Viewed 체크박스를 선택합니다.
확인된 것으로 표시한 파일은 다음 중 하나에 해당할 때까지 다시 표시되지 않습니다:
- 파일 내용이 변경됩니다.
- Viewed 체크박스 선택을 해제합니다.
diff에서 머지 리퀘스트 충돌 표시#
대상 브랜치에 이미 있는 변경 사항을 표시하지 않기 위해 GitLab은 머지 리퀘스트의 소스 브랜치를 대상 브랜치의
HEAD와 비교합니다.소스 브랜치와 대상 브랜치가 충돌하면 GitLab은 머지 리퀘스트 diff에서 충돌한 파일마다 경고를 표시합니다:

diff에서 스캐너 발견 사항 표시#
diff에서 스캐너 발견 사항을 표시할 수 있습니다. 자세한 내용은 다음을 참고합니다:
머지 리퀘스트 변경 사항 다운로드#
머지 리퀘스트에 포함된 변경 사항을 GitLab 외부에서 사용하기 위해 다운로드할 수 있습니다.
diff로 다운로드#
변경 사항을 diff로 다운로드하려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트를 선택합니다.
- 오른쪽 위에서 Code > Plain diff를 선택합니다.
머지 리퀘스트의 URL을 알고 있으면 URL 뒤에
.diff를 붙여 명령줄에서도 diff를 다운로드할 수 있습니다. 다음 예시는 머지 리퀘스트000000의 diff를 다운로드합니다:https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diffdiff를 한 줄 CLI 명령으로 다운로드해 적용하려면 다음과 같이 실행합니다:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff" | git apply패치 파일로 다운로드#
변경 사항을 패치 파일로 다운로드하려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- 머지 리퀘스트를 선택합니다.
- 오른쪽 위에서 Code > Patches를 선택합니다.
머지 리퀘스트의 URL을 알고 있으면 URL 뒤에
.patch를 붙여 명령줄에서도 패치를 다운로드할 수 있습니다. 다음 예시는 머지 리퀘스트000000의 패치 파일을 다운로드합니다:https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patchgit am으로 패치를 다운로드해 적용하려면 다음과 같이 실행합니다:# Download and preview the patch curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" > changes.patch git apply --check changes.patch # Apply the patch git am changes.patch패치를 한 번의 명령으로 다운로드해 적용할 수도 있습니다:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" | git amgit am은 기본적으로-p1옵션을 사용합니다. 자세한 내용은git-apply를 참고합니다.이전 diff 버전 다운로드#
히스토리
- GitLab 18.7에서 도입되었습니다.
이전 diff 버전을 패치나 diff 파일로 다운로드하려면 다음을 수행합니다:
- 다운로드하려는 diff 버전을 비교합니다.
- URL 경로 뒤에
.diff나.patch를 붙입니다.
예시는 다음과 같습니다:
# As a diff file: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123456/diffs.diff?diff_id=525410&start_sha=a1b2c3d4 # As a patch file: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123456/diffs.patch?diff_id=525410&start_sha=a1b2c3d4머지 리퀘스트 파일에 댓글 추가#
머지 리퀘스트 diff 파일에 댓글을 추가할 수 있습니다. 이러한 댓글은 리베이스와 파일 변경에도 유지됩니다.
머지 리퀘스트 파일에 댓글을 추가하려면 다음을 수행합니다:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Code > Merge requests를 선택하고 머지 리퀘스트를 찾습니다.
- Changes를 선택합니다.
- 댓글을 달려는 파일의 헤더에서 Comment on this file ([comment])을 선택합니다.
이미지에 댓글 추가#
머지 리퀘스트와 커밋 상세 보기에서는 이미지에 댓글을 추가할 수 있습니다. 이 댓글은 스레드가 될 수도 있습니다.
- 이미지 위에 마우스를 올립니다.
- 댓글을 달려는 위치를 선택합니다.
GitLab 이 이미지에 아이콘과 댓글 입력란을 표시합니다.
관련 주제#
- GitLab 18.0에서