Merge Request의 변경 사항

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

Merge Request은 리포지터리의 브랜치에서 파일에 대한 변경 사항을 제안합니다. 이러한 변경 사항은 현재 상태와 제안된 변경 사이의 _차이_로 표시됩니다. 기본적으로 diff는 제안된 변경 사항(소스 브랜치)과 대상 브랜치를 비교합니다. 기본적으로 파일의 변경된 부분 만 표시됩니다.

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

  • 현재 버전은 빨간색으로 표시되며 라인 앞에 마이너스(-) 기호가 붙습니다.
  • 제안된 버전은 초록색으로 표시되며 라인 앞에 플러스(+) 기호가 붙습니다.

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

diff의 각 파일 헤더에는 다음이 포함됩니다:

  • 이 파일의 모든 변경 사항을 숨기는 파일 내용 숨기기 ().
  • 경로: 이 파일의 전체 경로입니다. 이 경로를 복사하려면 파일 경로 복사 ()를 선택하세요.
  • 변경된 라인: 이 파일에서 추가 및 삭제된 라인 수를 +2 -2 형식으로 표시합니다.
  • 보기: 이 체크박스를 선택하여 더 많은 변경이 추가될 때까지 파일을 확인했음을 표시합니다.
  • 이 파일에 대한 일반적인 코멘트를 남기려면 파일에 코멘트 달기 ()를 선택하세요. 코멘트를 특정 라인에 고정하지 않습니다.
  • 옵션: 더 많은 파일 보기 옵션을 표시하려면 ()를 선택하세요.

diff에는 또한 파일 왼쪽의 네비게이션 및 코멘트 보조도 포함됩니다.

  • 더 많은 컨텍스트 표시: 이전 20줄 ()을 선택하여 이전 20줄의 변경되지 않은 라인을 표시하거나, 다음 20줄 ()을 선택하여 다음 20줄의 변경되지 않은 라인을 표시합니다.
  • 라인 번호는 두 개의 열에 표시됩니다. 이전 라인 번호는 왼쪽에, 제안된 라인 번호는 오른쪽에 표시됩니다. 라인과 상호 작용하려면:
    • 코멘트 옵션을 표시하려면 라인 번호 위로 마우스를 올리세요.
    • 링크를 복사하려면 Command 키를 누른 다음(또는 마우스 오른쪽 단추를 클릭한 다음) 라인 번호를 선택한 후 링크 주소 복사를 선택하세요.
    • 라인을 강조하려면 라인 번호를 선택하세요.

변경된 파일 디렉터리 표시

Merge Request에서 변경된 파일 디렉터리을 보려면 파일 브라우저를 사용하세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾으세요.
  3. Merge Request 제목 아래에서 변경 사항을 선택하세요.
  4. 파일 브라우저 표시를 선택하거나 F를 눌러 파일 트리를 표시하세요.
    • 중첩된 트리가 표시되는 트리 보기를 원하면 트리 보기를 선택하세요.
    • 중첩되지 않은 파일 디렉터리을 원하면 디렉터리 보기를 선택하세요.

Merge Request에 포함된 모든 변경 사항 표시

Merge Request에 포함된 변경 사항의 diff를 보려면:

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

많은 변경 사항이 있는 파일은 성능을 향상시키기 위해 접혀 있습니다. GitLab은 다음 메시지를 표시합니다: 일부 변경 사항이 표시되지 않았습니다. 해당 파일의 변경 사항을 보려면 파일 확장을 선택하세요.

생성된 파일 접기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated
  • GitLab 16.8에 도입되었습니다. 기본적으로 비활성화된 collapse_generated_diff_files 플래그와 함께.
  • GitLab 16.10에서 GitLab.com 및 Self-Managed형에서 활성화되었습니다.
  • generated_fileGitLab 16.11에서 일반 사용 가능해졌습니다. collapse_generated_diff_files 피처 플래그가 제거되었습니다.

코드 리뷰를 수행하는 데 필요한 파일에 리뷰어가 집중할 수 있도록, GitLab은 일반적인 유형의 생성된 파일을 접습니다. 이러한 파일은 코드 리뷰를 요구할 가능성이 적기 때문에 기본적으로 접힙니다:

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

파일 또는 경로를 생성된 것으로 표시하려면 .gitattributes 파일에서 해당 파일에 gitlab-generated 속성을 설정하세요.

접힌 파일보기

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾으세요.
  3. Merge Request 제목 아래에서 변경 사항을 선택하세요.
  4. 표시하려는 파일을 찾아 파일 확장을 선택하세요.

파일 유형에 대한 접힘 동작 구성

파일 유형의 기본적인 접힘 동작을 변경하려면:

  1. 프로젝트의 루트 디렉터리에 .gitattributes 파일이 없는 경우, 이 이름으로 빈 파일을 만드세요.
  2. 수정하려는 각 파일 유형에 대해 .gitattributes 파일에 파일 확장자 및 원하는 동작을 선언하는 줄을 추가하세요:

    # .txt 확장자를 가진 모든 파일을 접습니다.
    *.txt gitlab-generated
       
    # docs 디렉터리 내의 모든 파일을 접니다.
    docs/** gitlab-generated
       
    # package-lock.json은 접히지 않습니다.
    package-lock.json -gitlab-generated
    
  3. 변경 사항을 커밋하고 푸시한 후 기본 브랜치에 Merge하세요.

변경 사항이 기본 브랜치에 Merge되면 프로젝트의 이 유형 파일은 Merge Request에서 이 동작을 사용합니다.

생성된 파일이 감지되는 기술적인 세부 사항에 대한 자세한 내용은 go-enry 리포지터리를 참조하세요.

한 번에 한 파일 표시

더 큰 Merge Request의 경우 한 번에 한 파일을 검토할 수 있습니다. 이 설정을 Merge Request에서 일시적으로 변경하거나, 모든 Merge Request에 적용되도록 변경할 수 있습니다.

이 Merge Request에만

특정 Merge Request의 보기 기본 설정을 일시적으로 변경하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾으세요.
  3. Merge Request 제목 아래에서 변경 사항을 선택하세요.
  4. 프레퍼런스 ()를 선택하세요.
  5. 한 번에 하나의 파일 표시를 선택하거나 선택을 해제하세요.

본 변경은 사용자 설정에 상관없이 적용됩니다. 이 설정은 브라우저의 쿠키를 지우거나 다시 이 동작을 변경할 때까지 유지됩니다.

모든 Merge Request에 대해

모든 Merge Request에 대해 한 번에 하나의 파일을 보려면:

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

이 설정을 활성화한 후에 GitLab은 Merge Request을 검토할 때 한 번에 한 번의 파일만 표시합니다. 다른 변경된 파일을 보려면 다음 중 하나를 선택합니다:

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

변경 사항 비교

Merge Request에서 변경 사항을 보려면 다음 중 하나를 선택할 수 있습니다:

  • 인라인: 변경 사항을 수직으로 표시합니다. 줄의 이전 버전이 먼저 표시되고, 그 아래에 새 버전이 표시됩니다. 인라인 모드는 단일 줄에 대한 변경 사항에 often 더 적합합니다.
  • 나란히: 줄의 이전 버전과 새 버전을 별도의 열에 표시합니다. 나란히 모드는 연속된 많은 줄에 영향을 미치는 변경 사항에 often 더 적합합니다.

Merge Request이 변경된 줄을 표시하는 방식을 변경하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
  3. 제목 아래에서 변경을 선택합니다.
  4. 환경 설정()을 선택합니다. 나란히 또는 인라인 중 하나를 선택합니다. 이 예는 동일한 변경이 인라인 및 나란히 모드에서 어떻게 렌더링되는지를 보여줍니다:

    인라인 변경

    inline changes

    나란히 변경

    side-by-side changes

코멘트 확장 또는 축소

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

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

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

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

공백 변경 무시

Merge Request의 본질적인 변경 사항을 보기 어렵게 만드는 공백 변경을 숨기거나 표시할 수 있습니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
  3. 제목 아래에서 변경을 선택합니다.
  4. 변경된 파일 디렉터리 앞에서 환경 설정()을 선택합니다.
  5. 공백 변경 표시를 선택하거나 선택 취소합니다:

    MR diff

파일을 본 것으로 표시

여러 번 파일을 검토하는 Merge Request을 검토할 때 변경되지 않은 파일을 숨기려면 다음을 합니다:

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

본으로 표시된 파일은 변경되지 않으면 다시 표시되지 않습니다. 다음이 될 경우를 제외하고:

  • 콘텐츠에 새 변경 사항이 발생했을 때.
  • 본 것으로 표시 확인란을 지울 때.

충돌이 있는 Merge Request을 diff에서 표시

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

소스와 대상 브랜치 간에 충돌이 있으면 Merge Request diff에서 충돌된 파일 당 경고가 표시됩니다:

Merge Request diff에 표시된 충돌 경고 예시

diff에 스캐너 결과 표시

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

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

Merge Request 파일에 코멘트 추가

Merge Request diff 파일에 코멘트를 추가할 수 있습니다. 이러한 코멘트는 리베이스와 파일 변경에 상관없이 지속됩니다.

Merge Request 파일에 코멘트를 추가하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > Merge Request을 선택하고 Merge Request을 찾습니다.
  3. 변경을 선택합니다.
  4. 코멘트를 추가하려는 파일의 헤더에서 코멘트()를 선택합니다.

이미지에 코멘트 추가

Merge Request 및 커밋 상세 보기에서 이미지에 코멘트를 추가할 수 있습니다. 이 코멘트는 스레드가 될 수도 있습니다.

  1. 마우스를 이미지 위로 가져갑니다.
  2. 코멘트를 추가하려는 위치를 선택합니다.

이미지에 아이콘이 표시되고 코멘트 필드가 표시됩니다.

리소스

  • 두 개의 리비전 사이의 차이를 계산하는 데 대한 기술적인 세부 정보는 차이 작업을 참조하세요.