병합 요청의 변경 사항

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

병합 요청(Merge Request)은 귀하의 저장소의 브랜치 내 파일에 대한 변경 세트를 제안합니다. 이러한 변경 사항은 현재 상태와 제안된 변경 사항 간의 차이로 표시됩니다. 기본적으로 diff는 제안된 변경 사항(소스 브랜치)과 대상 브랜치를 비교합니다. 기본적으로 파일의 변경된 부분만 표시됩니다.

이 예시는 텍스트 파일의 변경 내용을 보여줍니다. 기본 구문 강조 테마에서는:

  • 현재 버전은 빨간색으로 표시되며 줄 앞에 빼기(-) 기호가 있습니다.
  • 제안된 버전은 초록색으로 표시되며 줄 앞에 더하기(+) 기호가 있습니다.

소스 코드 diff의 예시 스크린샷

diff의 각 파일 헤더에는 다음이 포함되어 있습니다:

  • 이 파일의 모든 변경 사항을 숨기는 파일 내용 숨기기().
  • 경로: 이 파일의 전체 경로입니다. 이 경로를 복사하려면 파일 경로 복사()를 선택하십시오.
  • 변경된 줄: 이 파일에서 추가된 줄과 삭제된 줄의 수입니다. 형식은 +2 -2입니다.
  • 보기됨: 더 많은 변경 사항이 해당 파일에 추가될 때까지 이 파일을 보기됨으로 표시하십시오.
  • 이 파일에 대한 일반적인 의견을 남기려면 이 파일에 의견 달기()를 선택하십시오. 특정 줄에 의견을 달지 않고 파일에 의견을 달 수 있습니다.
  • 옵션: 더 많은 파일 보기 옵션을 표시하려면()를 선택하십시오.

diff에는 또한 파일 왼쪽에 있는 네비게이션과 의견 보조 기능도 포함되어 있습니다:

  • 더 많은 콘텍스트 표시: 이전 20줄()을 선택하여 이전 20줄의 변경되지 않은 내용을 표시하거나 다음 20줄()을 선택하여 다음 20줄의 변경되지 않은 내용을 표시하십시오.
  • 줄 번호는 두 개의 열에 표시됩니다. 이전 줄 번호는 왼쪽에 표시되고, 제안된 줄 번호는 오른쪽에 표시됩니다. 줄과 상호작용하려면:
    • 의견 옵션을 표시하려면 줄 번호에 마우스를 올려놓으십시오.
    • 링크를 복사하려면 Command를 누르고(또는 마우스 오른쪽 단추를 클릭) 줄 번호를 선택한 다음 링크 주소 복사를 선택하십시오.
    • 줄을 강조 표시하려면 줄 번호를 선택하십시오.

병합 요청의 모든 변경 사항 표시

병합 요청에 포함된 변경 사항의 diff를 보려면 다음을 수행하십시오:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 병합 요청 제목 아래에서 변경 사항을 선택하십시오.
  4. 병합 요청이 많은 파일을 변경하는 경우 특정 파일로 직접 이동할 수 있습니다:
    1. 파일 브라우저 표시()를 선택하거나 F를 눌러 파일 트리를 표시합니다.
    2. 보고자 하는 파일을 선택하십시오.
    3. 파일 브라우저를 숨기려면 파일 브라우저 표시를 선택하거나 F를 다시 누르십시오.

다양한 변경 사항이 있는 파일은 성능 향상을 위해 축소됩니다. GitLab은 다음과 같은 메시지를 표시합니다: 일부 변경 내용이 표시되지 않았음. 해당 파일의 변경 사항을 보려면 파일 확장을 선택하십시오.

생성된 파일 축소

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
셀프매니지드 GitLab에서 기본적으로 이 기능을 사용할 수 있습니다. 이 기능을 비활성화하려면 관리자가 기능 플래그 비활성화를 할 수 있습니다. GitLab.com 및 GitLab Dedicated에서는 이 기능을 사용할 수 있습니다.

리뷰어가 코드 검토를 수행하는 데 필요한 파일에 집중할 수 있도록, GitLab은 여러 종류의 일반적으로 생성된 파일을 축소합니다. 이러한 파일은 코드 검토가 필요하지 않을 가능성이 낮기 때문에 기본적으로 축소됩니다:

  1. .nib, .xcworkspacedata, 또는 .xcurserstate 확장자가 있는 파일.
  2. package-lock.json 또는 Gopkg.lock과 같은 패키지 락 파일.
  3. node_modules 폴더 내의 파일.
  4. 최소화된 js 또는 css 파일.
  5. 소스 맵 참조 파일.
  6. 프로토콜 버퍼 컴파일러에 의해 생성된 Go 파일.

파일이나 경로를 생성된 것으로 표시하려면, .gitattributes 파일에서 해당 파일에 대해 gitlab-generated 속성을 설정하십시오.

파일 축소된 상태로 보기

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 병합 요청 제목 아래에서 변경 사항을 선택합니다.
  4. 보려는 파일을 찾아 파일 확장을 선택합니다.

파일 유형에 대한 축소 동작 구성

파일 유형의 기본 축소 동작을 변경하려면:

  1. 프로젝트의 루트 디렉터리에 .gitattributes 파일이 없는 경우, 이 이름의 빈 파일을 만듭니다.
  2. 수정하려는 각 파일 유형에 대해 .gitattributes 파일에 라인을 추가하여 파일 확장자와 원하는 동작을 선언합니다:

    # .txt 확장자를 가진 모든 파일 축소
    *.txt gitlab-generated
    
    # docs 디렉토리 내의 모든 파일 축소
    docs/** gitlab-generated
    
    # package-lock.json은 축소하지 않음
    package-lock.json -gitlab-generated
    
  3. 변경 사항을 커밋하고 푸시하여 기본 브랜치에 병합합니다.

이러한 변경 사항이 기본 브랜치로 병합되면, 프로젝트의 해당 유형의 모든 파일이 병합 요청에서 이 동작을 사용합니다.

생성된 파일이 어떻게 감지되는지에 대한 기술적인 세부 정보는 go-enry 리포지토리를 참조하세요.

한 번에 하나의 파일 표시

대규모 병합 요청의 경우 한 번에 하나의 파일을 검토할 수 있습니다. 이 설정을 병합 요청에서 일시적으로 변경하거나 모든 병합 요청에 적용할 수 있습니다.

이 병합 요청 전용

특정 병합 요청에 대한 보기 환경 설정을 임시로 변경하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 병합 요청 제목 아래에서 변경 사항을 선택합니다.
  4. 환경 설정 ()을 선택합니다.
  5. 한 번에 하나의 파일 표시 확인란을 선택하거나 선택 해제합니다.

이 변경은 사용자 설정에서의 선택을 재정의합니다. 브라우저의 쿠키를 지우거나 이 동작을 다시 변경할 때까지 유지됩니다.

모든 병합 요청에 대해

모든 병합 요청의 파일을 한 번에 하나씩 보려면:

  1. 왼쪽 사이드바에서 사용자 아바타를 선택합니다.
  2. 사용자 설정을 선택합니다.
  3. 동작 섹션으로 스크롤하고 병합 요청의 변경 탭에서 한 번에 하나의 파일 표시 확인란을 선택합니다.
  4. 변경 사항 저장을 선택합니다.

이 설정을 활성화한 후 GitLab은 병합 요청 검토 시 한 번에 하나의 파일만 표시합니다. 다른 변경된 파일 보려면 다음 중 하나를 수행합니다:

  • 파일의 끝까지 스크롤하여 이전 또는 다음을 선택합니다.
  • 파일 브라우저 표시 ()를 선택하고 표시할 다른 파일을 선택합니다.

변경 사항 인라인으로 비교

변경 내용을 인라인으로 볼 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 환경 설정 ()을 선택합니다.
  5. 변경 비교 영역에서 인라인을 선택합니다.

변경 사항은 기존 텍스트 이후에 표시됩니다.

인라인 변경

변경 사항 측면별 비교

병합 요청의 변경 사항이 긴 경우, 변경 사항을 인라인이나 측면별로 볼 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 환경 설정 ()을 선택합니다.
  5. 변경 비교 영역에서 측면별을 선택합니다.

변경 사항이 서로 반대편에 표시됩니다.

측면별 변경

코멘트 확장 또는 축소

코드 변경을 검토하는 경우 인라인 코멘트를 숨길 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 코멘트를 숨기려는 파일로 스크롤합니다.
  5. 코멘트가 연결된 행으로 스크롤하고 축소 ()를 선택합니다: 코멘트 축소

인라인 코멘트를 확장하여 다시 표시하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. Code > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 표시하려는 축소된 코멘트를 포함하는 파일로 스크롤합니다.
  5. 코멘트가 연결된 행으로 스크롤하고 사용자 아바타를 선택합니다: 코멘트 확장

화이트스페이스 변경 무시

화이트스페이스 변경은 병합 요청에서 실질적인 변경 내용을 더 어렵게 파악할 수 있습니다. 화이트스페이스 변경 사항을 숨기거나 표시할 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 변경된 파일 목록 앞에서 환경설정 ()을 선택합니다.
  5. 화이트스페이스 변경 표시 확인란을 선택하거나 선택 해제합니다:

    MR diff

파일을 확인한 것으로 표시

많은 파일이 포함된 병합 요청을 여러 번 검토할 때 이미 검토한 파일을 무시할 수 있습니다. 마지막 검토 이후 변경되지 않은 파일을 숨기려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 제목 아래에서 변경 사항을 선택합니다.
  4. 파일 헤더에서 확인한 것으로 표시 확인란을 선택합니다.

확인한 것으로 표시된 파일은 해당 내용에 새 변경이 있는 경우 또는 확인한 것으로 표시 확인란을 지우는 경우에만 다시 표시됩니다.

병합 요청 충돌을 diff에서 표시

diff에서 대상 브랜치에 이미 있는 변경 사항을 표시하지 않으려면 병합 요청의 소스 브랜치와 대상 브랜치의 HEAD를 비교합니다.

소스 브랜치와 대상 브랜치 간에 충돌이 있는 경우 병합 요청 diff에서 각 충돌 파일마다 경고를 표시합니다:

병합 요청 diff에 표시된 충돌 경고의 예시

diff에서 스캐너 검색 결과 표시

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

diff에서 스캐너 검색 결과를 표시할 수 있습니다. 자세한 내용은 아래를 참조하세요:

병합 요청 파일에 댓글 추가

병합 요청 diff 파일에 댓글을 추가할 수 있습니다. 이러한 댓글은 리베이스와 파일 변경을 거치더라도 유지됩니다.

병합 요청 파일에 댓글을 추가하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 코드 > 병합 요청을 선택하고 병합 요청을 찾습니다.
  3. 변경 사항을 선택합니다.
  4. 댓글을 달고 싶은 파일의 헤더에서 댓글 달기 ()를 선택합니다.

이미지에 댓글 추가

병합 요청 및 커밋 상세 보기에서 이미지에 댓글을 추가할 수 있습니다. 이러한 댓글은 스레드가 될 수도 있습니다.

  1. 이미지 위로 마우스를 가져갑니다.
  2. 댓글을 달고 싶은 위치를 선택합니다.

이미지 위에 아이콘이 표시되고 댓글 필드가 표시됩니다.

리소스

  • 두 리비전 간의 차이를 계산하는 GitLab의 기술적인 세부 정보는 차이점 작업을 참조하세요.