InfoGrab Docs

머지 리퀘스트 생성

요약

머지 리퀘스트를 생성할 준비가 되면, 워크플로에 맞는 방법을 사용하세요. 머지 리퀘스트를 생성할 때 GitLab은 프로젝트의 브랜치 명명 규칙을 적용합니다. 프로젝트의 상단 바에서 머지 리퀘스트를 생성할 수 있습니다: 머지 리퀘스트 목록에서 머지 리퀘스트를 생성할 수 있습니다.

머지 리퀘스트를 생성할 준비가 되면, 워크플로에 맞는 방법을 사용하세요. 다음을 통해 머지 리퀘스트를 생성할 수 있습니다:

머지 리퀘스트를 생성할 때 GitLab은 프로젝트의 브랜치 명명 규칙을 적용합니다. 머지 리퀘스트를 브랜치에 연결하려면 브랜치 명명 패턴을 따르세요.

상단 바에서#

프로젝트의 상단 바에서 머지 리퀘스트를 생성할 수 있습니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 오른쪽 상단에서 Create new(+)를 선택한 후 New merge request를 선택합니다.

머지 리퀘스트 목록에서#

머지 리퀘스트 목록에서 머지 리퀘스트를 생성할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택합니다.
  3. 오른쪽 상단에서 New merge request를 선택합니다.
  4. 소스 브랜치와 대상 브랜치를 선택한 후 Compare branches and continue를 선택합니다.
  5. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

각 브랜치는 열려 있는 하나의 머지 리퀘스트에만 연결될 수 있습니다. 이 브랜치에 대한 머지 리퀘스트가 이미 있는 경우 기존 머지 리퀘스트에 대한 링크가 표시됩니다.

이슈에서#

개발 워크플로에 모든 머지 리퀘스트에 이슈가 필요한 경우, 프로세스를 빠르게 하기 위해 이슈에서 직접 브랜치를 생성할 수 있습니다. 새 브랜치와 나중에 생성될 머지 리퀘스트는 이 이슈와 관련된 것으로 표시됩니다. 머지 리퀘스트가 머지되면 자동 이슈 닫기가 비활성화되지 않는 한 이슈가 자동으로 닫힙니다.

이슈에서 새 브랜치#

브랜치와 머지 리퀘스트를 동시에 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Issue로 필터링하고 이슈를 선택합니다.
  3. 이슈 설명 하단으로 이동합니다.
  4. Create merge request > Create merge request and branch를 선택합니다.
  5. 대화 상자에서 제안된 브랜치 이름을 검토합니다. 이는 프로젝트의 브랜치 이름 템플릿을 기반으로 합니다.
  6. 선택 사항. 브랜치 이름이 이미 사용 중이거나 다른 브랜치 이름이 필요한 경우 이름을 변경합니다.
  7. 소스 브랜치 또는 태그를 선택합니다.
  8. Create merge request를 선택합니다.

이슈의 기존 브랜치#

히스토리
  • GitLab 17.11에서 도입되었습니다.

사전 요구 사항:

  • 이슈에 이미 브랜치가 연결되어 있어야 합니다.
  • 프로젝트에서 머지 리퀘스트를 생성할 권한이 있어야 합니다.

Development에 이미 브랜치가 연결된 경우 머지 리퀘스트를 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Issue로 필터링하고 이슈를 선택합니다.
  3. Development 섹션에서 연결된 브랜치를 찾습니다.
  4. 브랜치 작업 메뉴(⋮)를 선택합니다.
  5. Create merge request를 선택합니다.
  6. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

머지 리퀘스트 양식은 이슈로 다시 연결하기 위한 적절한 키워드로 미리 채워집니다.

태스크에서#

히스토리
  • GitLab 17.8에서 도입되었습니다.

팀이 이슈를 태스크로 나누는 경우, 프로세스를 빠르게 하기 위해 태스크에서 직접 브랜치를 생성할 수 있습니다. 새 브랜치와 나중에 생성될 머지 리퀘스트는 이 태스크와 관련된 것으로 표시됩니다. 머지 리퀘스트가 머지되면 자동 이슈 닫기가 비활성화되지 않는 한 태스크가 자동으로 닫힙니다.

태스크에서 새 브랜치#

사전 요구 사항:

  • 태스크가 포함된 프로젝트에 대해 Developer, Maintainer, 또는 Owner 권한이 있어야 합니다.

브랜치와 머지 리퀘스트를 동시에 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Task로 필터링하고 태스크를 선택합니다.
  3. 태스크 설명 하단으로 이동합니다.
  4. Create merge request를 선택합니다.
  5. 대화 상자에서 제안된 브랜치 이름을 검토합니다. 이는 프로젝트의 브랜치 이름 템플릿을 기반으로 합니다.
  6. 선택 사항. 브랜치 이름이 이미 사용 중이거나 다른 브랜치 이름이 필요한 경우 이름을 변경합니다.
  7. 소스 브랜치 또는 태그를 선택합니다.
  8. Create merge request를 선택합니다.

태스크의 기존 브랜치#

히스토리
  • GitLab 17.11에서 도입되었습니다.

사전 요구 사항:

  • 태스크에 이미 브랜치가 연결되어 있어야 합니다.
  • 프로젝트에서 머지 리퀘스트를 생성할 권한이 있어야 합니다.

Development에 이미 브랜치가 연결된 경우 머지 리퀘스트를 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Task로 필터링하고 태스크를 선택합니다.
  3. Development 섹션에서 연결된 브랜치를 찾습니다.
  4. 브랜치 작업 메뉴(⋮)를 선택합니다.
  5. Create merge request를 선택합니다.
  6. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

머지 리퀘스트 양식은 태스크로 다시 연결하기 위한 적절한 키워드로 미리 채워집니다.

Git 리포지터리가 비어 있을 때#

이슈 또는 태스크에서 머지 리퀘스트를 생성할 때 Git 리포지터리가 비어 있는 경우 GitLab은:

  • 기본 브랜치를 생성합니다.
  • README.md 파일을 커밋합니다.
  • 이슈 또는 태스크 제목을 기반으로 새 브랜치를 생성하고 리디렉션합니다.
  • 프로젝트가 Kubernetes와 같은 배포 서비스로 구성된 경우 .gitlab-ci.yml 파일 생성을 도와 auto deploy를 설정하도록 안내합니다.

자동 이슈 및 태스크 닫기#

생성한 브랜치의 이름이 이슈 또는 태스크 번호로 시작하는 경우, GitLab은 이슈 또는 태스크와 머지 리퀘스트를 교차 링크하고 머지 리퀘스트 설명에 닫기 패턴을 추가합니다. 대부분의 경우 이는 Closes #ID 형태이며, ID는 이슈 또는 태스크의 ID입니다. 프로젝트에 닫기 패턴이 구성된 경우 머지 리퀘스트가 머지되면 이슈 또는 태스크가 닫힙니다.

Note

닫기 패턴(예: Closes #123)으로 연결되거나 키워드(예: Related to #456)로 언급된 작업 항목은 머지 리퀘스트 사이드바의 Work items 위젯에 자동으로 표시됩니다. 자세한 내용은 머지 리퀘스트의 작업 항목을 참조하세요.

웹 편집기에서#

웹 편집기로 다음을 수행할 때 머지 리퀘스트를 생성할 수 있습니다:

  • 파일 생성, 편집, 업로드 또는 삭제.
  • 디렉터리 생성.

브랜치를 생성할 때#

브랜치를 생성할 때 머지 리퀘스트를 생성할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Branches를 선택합니다.
  3. 브랜치 이름을 입력하고 New branch를 선택합니다.
  4. 파일 목록 위에서 Create merge request를 선택합니다. 머지 리퀘스트가 생성됩니다. 기본 브랜치가 대상이 됩니다.
  5. 필드를 채우고 Create merge request를 선택합니다.

포크에서 작업할 때#

포크에서 머지 리퀘스트를 생성하여 메인 프로젝트에 기여할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 포크를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 New merge request를 선택합니다.

  3. Source branch에서 변경 사항이 포함된 포크의 브랜치를 선택합니다.

  4. Target branch에서:

    1. 포크가 아닌 업스트림 리포지터리를 선택합니다. 업스트림에 자주 변경 사항을 기여하는 경우 포크의 기본 대상을 설정하는 것을 고려하세요.

    2. 업스트림 리포지터리에서 브랜치를 선택합니다:

      Selecting branches

    [!note] 포크의 가시성이 상위 리포지터리보다 더 제한적인 경우, 대상 브랜치는 기본적으로 포크의 기본 브랜치로 설정됩니다. 이는 포크의 비공개 정보가 노출되는 것을 방지합니다.

  5. Compare branches and continue를 선택합니다.

  6. Create merge request를 선택합니다. 머지 리퀘스트는 포크가 아닌 대상 리포지터리에 생성됩니다.

  7. Developer, Maintainer, 또는 Owner 권한이 있는 경우 원하는 담당자, 검토자, 레이블 및 마일스톤을 추가합니다.

  8. Submit merge request를 선택합니다.

머지 리퀘스트가 다른 리포지터리를 대상으로 하는 경우 다음을 사용합니다:

  • 대상 프로젝트의 승인 규칙.
  • 포크의 CI/CD 구성, 리소스 및 프로젝트 CI/CD 변수.

업스트림 프로젝트에서 CI/CD 파이프라인을 실행하려면 해당 프로젝트의 멤버여야 합니다. 포크의 머지 리퀘스트에 대해 상위 프로젝트에서 머지 리퀘스트 파이프라인을 실행하면 모든 변수가 파이프라인에서 사용 가능해집니다.

작업이 머지된 후, 더 이상 기여를 하지 않을 경우 포크 연결을 해제하세요.

기본 대상 프로젝트 설정#

기본적으로 포크에서 시작된 머지 리퀘스트는 포크가 아닌 업스트림 리포지터리를 대상으로 합니다. 업스트림 리포지터리 대신 포크된 리포지터리를 기본 대상으로 구성할 수 있습니다.

사전 요구 사항:

  • 포크에서 작업 중이어야 합니다.
  • 프로젝트에 Developer, Maintainer, 또는 Owner 권한이 있거나 머지 리퀘스트 생성이 허용되어야 합니다.
  • 업스트림 리포지터리에서 머지 리퀘스트 생성이 허용되어야 합니다.
  • 포크의 가시성 설정이 업스트림 리포지터리와 같거나 덜 엄격해야 합니다. 예를 들어: 포크가 비공개이지만 업스트림이 공개인 경우 이 설정이 표시되지 않습니다.

이를 수행하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Target project 섹션에서 기본 대상 프로젝트에 사용할 옵션을 선택합니다.
  4. Save changes를 선택합니다.

이메일을 보내서#

히스토리
  • Email a new merge request to this project가 GitLab 18.6에서 Email merge request to this project이름 변경되었습니다.

GitLab에 이메일 메시지를 보내서 머지 리퀘스트를 생성할 수 있습니다. 머지 리퀘스트 대상 브랜치는 리포지터리의 기본 브랜치입니다.

사전 요구 사항:

  • 머지 리퀘스트는 업스트림 리포지터리가 아닌 현재 리포지터리를 대상으로 해야 합니다.
  • GitLab 관리자가 수신 이메일을 구성해야 합니다. 이 설정은 GitLab.com에서 활성화됩니다.
  • GitLab 관리자가 이메일 답장을 구성해야 합니다. 이 설정은 GitLab.com에서 활성화됩니다.
  • 프로젝트에 Developer, Maintainer, 또는 Owner 권한이 있거나 머지 리퀘스트 생성이 허용되어야 합니다.

이메일을 보내서 머지 리퀘스트를 생성하려면:

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

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택합니다.

  3. 프로젝트에 머지 리퀘스트가 있는 경우 Email merge request to this project를 선택합니다.

  4. 대화 상자에서 표시된 이메일 주소를 복사합니다. 이 주소를 비공개로 유지하세요. 이 주소를 가진 누구든지 귀하인 것처럼 이슈나 머지 리퀘스트를 생성할 수 있습니다.

  5. 이메일을 열고 다음 정보로 메시지를 작성합니다:

    • To 줄은 복사한 이메일 주소입니다.
    • Subject는 소스 브랜치 이름입니다.
    • 이메일 본문은 머지 리퀘스트 설명입니다.
  6. 커밋을 추가하려면 메시지에 .patch 파일을 첨부합니다.

  7. 이메일을 보냅니다.

머지 리퀘스트가 생성됩니다.

이메일로 머지 리퀘스트를 생성할 때 첨부 파일 추가#

이메일에 패치를 첨부 파일로 추가하여 머지 리퀘스트에 커밋을 추가합니다.

  • 패치의 합산 크기는 2MB 이하여야 합니다.
  • 패치로 간주되려면 첨부 파일의 이름이 .patch로 끝나야 합니다.
  • 패치는 이름 순서로 처리됩니다.
  • 제목의 소스 브랜치가 존재하지 않는 경우 리포지터리의 HEAD 또는 기본 대상 브랜치에서 생성됩니다. 대상 브랜치를 수동으로 변경하려면 /target_branch 빠른 액션을 사용합니다.
  • 소스 브랜치가 이미 존재하는 경우 패치가 그 위에 적용됩니다.

관련 항목#

문제 해결#

이슈에 머지 리퀘스트 생성 옵션 없음#

다음의 경우 이슈에서 Create merge request 옵션이 표시되지 않습니다:

  • 동일한 이름의 브랜치가 이미 존재합니다.
  • 이 브랜치에 대한 머지 리퀘스트가 이미 존재합니다.
  • 프로젝트에 활성 포크 관계가 있습니다.
  • 프로젝트가 비공개이고 이슈가 기밀입니다.

이 버튼을 표시하기 위한 가능한 해결책 중 하나는 프로젝트의 포크 관계 제거입니다. 제거 후 포크 관계를 복원할 수 없습니다. 프로젝트는 더 이상 소스 프로젝트 또는 그 다른 포크에 머지 리퀘스트를 보내거나 받을 수 없습니다.

이메일 메시지를 처리할 수 없음#

이메일을 보내 머지 리퀘스트를 생성할 때 업스트림 리포지터리를 대상으로 시도하면 GitLab이 다음 오류로 응답합니다:

Unfortunately, your email message to GitLab could not be processed.

You are not allowed to perform this action. If you believe this is in error, contact a staff member.

머지 리퀘스트 생성

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

머지 리퀘스트를 생성할 준비가 되면, 워크플로에 맞는 방법을 사용하세요. 머지 리퀘스트를 생성할 때 GitLab은 프로젝트의 브랜치 명명 규칙을 적용합니다. 프로젝트의 상단 바에서 머지 리퀘스트를 생성할 수 있습니다: 머지 리퀘스트 목록에서 머지 리퀘스트를 생성할 수 있습니다.

머지 리퀘스트를 생성할 준비가 되면, 워크플로에 맞는 방법을 사용하세요. 다음을 통해 머지 리퀘스트를 생성할 수 있습니다:

머지 리퀘스트를 생성할 때 GitLab은 프로젝트의 브랜치 명명 규칙을 적용합니다. 머지 리퀘스트를 브랜치에 연결하려면 브랜치 명명 패턴을 따르세요.

상단 바에서#

프로젝트의 상단 바에서 머지 리퀘스트를 생성할 수 있습니다:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 오른쪽 상단에서 Create new(+)를 선택한 후 New merge request를 선택합니다.

머지 리퀘스트 목록에서#

머지 리퀘스트 목록에서 머지 리퀘스트를 생성할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Merge requests를 선택합니다.
  3. 오른쪽 상단에서 New merge request를 선택합니다.
  4. 소스 브랜치와 대상 브랜치를 선택한 후 Compare branches and continue를 선택합니다.
  5. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

각 브랜치는 열려 있는 하나의 머지 리퀘스트에만 연결될 수 있습니다. 이 브랜치에 대한 머지 리퀘스트가 이미 있는 경우 기존 머지 리퀘스트에 대한 링크가 표시됩니다.

이슈에서#

개발 워크플로에 모든 머지 리퀘스트에 이슈가 필요한 경우, 프로세스를 빠르게 하기 위해 이슈에서 직접 브랜치를 생성할 수 있습니다. 새 브랜치와 나중에 생성될 머지 리퀘스트는 이 이슈와 관련된 것으로 표시됩니다. 머지 리퀘스트가 머지되면 자동 이슈 닫기가 비활성화되지 않는 한 이슈가 자동으로 닫힙니다.

이슈에서 새 브랜치#

브랜치와 머지 리퀘스트를 동시에 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Issue로 필터링하고 이슈를 선택합니다.
  3. 이슈 설명 하단으로 이동합니다.
  4. Create merge request > Create merge request and branch를 선택합니다.
  5. 대화 상자에서 제안된 브랜치 이름을 검토합니다. 이는 프로젝트의 브랜치 이름 템플릿을 기반으로 합니다.
  6. 선택 사항. 브랜치 이름이 이미 사용 중이거나 다른 브랜치 이름이 필요한 경우 이름을 변경합니다.
  7. 소스 브랜치 또는 태그를 선택합니다.
  8. Create merge request를 선택합니다.

이슈의 기존 브랜치#

히스토리
  • GitLab 17.11에서 도입되었습니다.

사전 요구 사항:

  • 이슈에 이미 브랜치가 연결되어 있어야 합니다.
  • 프로젝트에서 머지 리퀘스트를 생성할 권한이 있어야 합니다.

Development에 이미 브랜치가 연결된 경우 머지 리퀘스트를 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Issue로 필터링하고 이슈를 선택합니다.
  3. Development 섹션에서 연결된 브랜치를 찾습니다.
  4. 브랜치 작업 메뉴(⋮)를 선택합니다.
  5. Create merge request를 선택합니다.
  6. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

머지 리퀘스트 양식은 이슈로 다시 연결하기 위한 적절한 키워드로 미리 채워집니다.

태스크에서#

히스토리
  • GitLab 17.8에서 도입되었습니다.

팀이 이슈를 태스크로 나누는 경우, 프로세스를 빠르게 하기 위해 태스크에서 직접 브랜치를 생성할 수 있습니다. 새 브랜치와 나중에 생성될 머지 리퀘스트는 이 태스크와 관련된 것으로 표시됩니다. 머지 리퀘스트가 머지되면 자동 이슈 닫기가 비활성화되지 않는 한 태스크가 자동으로 닫힙니다.

태스크에서 새 브랜치#

사전 요구 사항:

  • 태스크가 포함된 프로젝트에 대해 Developer, Maintainer, 또는 Owner 권한이 있어야 합니다.

브랜치와 머지 리퀘스트를 동시에 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Task로 필터링하고 태스크를 선택합니다.
  3. 태스크 설명 하단으로 이동합니다.
  4. Create merge request를 선택합니다.
  5. 대화 상자에서 제안된 브랜치 이름을 검토합니다. 이는 프로젝트의 브랜치 이름 템플릿을 기반으로 합니다.
  6. 선택 사항. 브랜치 이름이 이미 사용 중이거나 다른 브랜치 이름이 필요한 경우 이름을 변경합니다.
  7. 소스 브랜치 또는 태그를 선택합니다.
  8. Create merge request를 선택합니다.

태스크의 기존 브랜치#

히스토리
  • GitLab 17.11에서 도입되었습니다.

사전 요구 사항:

  • 태스크에 이미 브랜치가 연결되어 있어야 합니다.
  • 프로젝트에서 머지 리퀘스트를 생성할 권한이 있어야 합니다.

Development에 이미 브랜치가 연결된 경우 머지 리퀘스트를 생성하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Plan > Work items를 선택한 후 Type = Task로 필터링하고 태스크를 선택합니다.
  3. Development 섹션에서 연결된 브랜치를 찾습니다.
  4. 브랜치 작업 메뉴(⋮)를 선택합니다.
  5. Create merge request를 선택합니다.
  6. New merge request 페이지의 필드를 작성한 후 Create merge request를 선택합니다.

머지 리퀘스트 양식은 태스크로 다시 연결하기 위한 적절한 키워드로 미리 채워집니다.

Git 리포지터리가 비어 있을 때#

이슈 또는 태스크에서 머지 리퀘스트를 생성할 때 Git 리포지터리가 비어 있는 경우 GitLab은:

  • 기본 브랜치를 생성합니다.
  • README.md 파일을 커밋합니다.
  • 이슈 또는 태스크 제목을 기반으로 새 브랜치를 생성하고 리디렉션합니다.
  • 프로젝트가 Kubernetes와 같은 배포 서비스로 구성된 경우 .gitlab-ci.yml 파일 생성을 도와 auto deploy를 설정하도록 안내합니다.

자동 이슈 및 태스크 닫기#

생성한 브랜치의 이름이 이슈 또는 태스크 번호로 시작하는 경우, GitLab은 이슈 또는 태스크와 머지 리퀘스트를 교차 링크하고 머지 리퀘스트 설명에 닫기 패턴을 추가합니다. 대부분의 경우 이는 Closes #ID 형태이며, ID는 이슈 또는 태스크의 ID입니다. 프로젝트에 닫기 패턴이 구성된 경우 머지 리퀘스트가 머지되면 이슈 또는 태스크가 닫힙니다.

Note

닫기 패턴(예: Closes #123)으로 연결되거나 키워드(예: Related to #456)로 언급된 작업 항목은 머지 리퀘스트 사이드바의 Work items 위젯에 자동으로 표시됩니다. 자세한 내용은 머지 리퀘스트의 작업 항목을 참조하세요.

웹 편집기에서#

웹 편집기로 다음을 수행할 때 머지 리퀘스트를 생성할 수 있습니다:

  • 파일 생성, 편집, 업로드 또는 삭제.
  • 디렉터리 생성.

브랜치를 생성할 때#

브랜치를 생성할 때 머지 리퀘스트를 생성할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Code > Branches를 선택합니다.
  3. 브랜치 이름을 입력하고 New branch를 선택합니다.
  4. 파일 목록 위에서 Create merge request를 선택합니다. 머지 리퀘스트가 생성됩니다. 기본 브랜치가 대상이 됩니다.
  5. 필드를 채우고 Create merge request를 선택합니다.

포크에서 작업할 때#

포크에서 머지 리퀘스트를 생성하여 메인 프로젝트에 기여할 수 있습니다.

  1. 상단 바에서 Search or go to를 선택하고 포크를 찾습니다.

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택하고 New merge request를 선택합니다.

  3. Source branch에서 변경 사항이 포함된 포크의 브랜치를 선택합니다.

  4. Target branch에서:

    1. 포크가 아닌 업스트림 리포지터리를 선택합니다. 업스트림에 자주 변경 사항을 기여하는 경우 포크의 기본 대상을 설정하는 것을 고려하세요.

    2. 업스트림 리포지터리에서 브랜치를 선택합니다:

      Selecting branches

    [!note] 포크의 가시성이 상위 리포지터리보다 더 제한적인 경우, 대상 브랜치는 기본적으로 포크의 기본 브랜치로 설정됩니다. 이는 포크의 비공개 정보가 노출되는 것을 방지합니다.

  5. Compare branches and continue를 선택합니다.

  6. Create merge request를 선택합니다. 머지 리퀘스트는 포크가 아닌 대상 리포지터리에 생성됩니다.

  7. Developer, Maintainer, 또는 Owner 권한이 있는 경우 원하는 담당자, 검토자, 레이블 및 마일스톤을 추가합니다.

  8. Submit merge request를 선택합니다.

머지 리퀘스트가 다른 리포지터리를 대상으로 하는 경우 다음을 사용합니다:

  • 대상 프로젝트의 승인 규칙.
  • 포크의 CI/CD 구성, 리소스 및 프로젝트 CI/CD 변수.

업스트림 프로젝트에서 CI/CD 파이프라인을 실행하려면 해당 프로젝트의 멤버여야 합니다. 포크의 머지 리퀘스트에 대해 상위 프로젝트에서 머지 리퀘스트 파이프라인을 실행하면 모든 변수가 파이프라인에서 사용 가능해집니다.

작업이 머지된 후, 더 이상 기여를 하지 않을 경우 포크 연결을 해제하세요.

기본 대상 프로젝트 설정#

기본적으로 포크에서 시작된 머지 리퀘스트는 포크가 아닌 업스트림 리포지터리를 대상으로 합니다. 업스트림 리포지터리 대신 포크된 리포지터리를 기본 대상으로 구성할 수 있습니다.

사전 요구 사항:

  • 포크에서 작업 중이어야 합니다.
  • 프로젝트에 Developer, Maintainer, 또는 Owner 권한이 있거나 머지 리퀘스트 생성이 허용되어야 합니다.
  • 업스트림 리포지터리에서 머지 리퀘스트 생성이 허용되어야 합니다.
  • 포크의 가시성 설정이 업스트림 리포지터리와 같거나 덜 엄격해야 합니다. 예를 들어: 포크가 비공개이지만 업스트림이 공개인 경우 이 설정이 표시되지 않습니다.

이를 수행하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
  3. Target project 섹션에서 기본 대상 프로젝트에 사용할 옵션을 선택합니다.
  4. Save changes를 선택합니다.

이메일을 보내서#

히스토리
  • Email a new merge request to this project가 GitLab 18.6에서 Email merge request to this project이름 변경되었습니다.

GitLab에 이메일 메시지를 보내서 머지 리퀘스트를 생성할 수 있습니다. 머지 리퀘스트 대상 브랜치는 리포지터리의 기본 브랜치입니다.

사전 요구 사항:

  • 머지 리퀘스트는 업스트림 리포지터리가 아닌 현재 리포지터리를 대상으로 해야 합니다.
  • GitLab 관리자가 수신 이메일을 구성해야 합니다. 이 설정은 GitLab.com에서 활성화됩니다.
  • GitLab 관리자가 이메일 답장을 구성해야 합니다. 이 설정은 GitLab.com에서 활성화됩니다.
  • 프로젝트에 Developer, Maintainer, 또는 Owner 권한이 있거나 머지 리퀘스트 생성이 허용되어야 합니다.

이메일을 보내서 머지 리퀘스트를 생성하려면:

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

  2. 왼쪽 사이드바에서 Code > Merge requests를 선택합니다.

  3. 프로젝트에 머지 리퀘스트가 있는 경우 Email merge request to this project를 선택합니다.

  4. 대화 상자에서 표시된 이메일 주소를 복사합니다. 이 주소를 비공개로 유지하세요. 이 주소를 가진 누구든지 귀하인 것처럼 이슈나 머지 리퀘스트를 생성할 수 있습니다.

  5. 이메일을 열고 다음 정보로 메시지를 작성합니다:

    • To 줄은 복사한 이메일 주소입니다.
    • Subject는 소스 브랜치 이름입니다.
    • 이메일 본문은 머지 리퀘스트 설명입니다.
  6. 커밋을 추가하려면 메시지에 .patch 파일을 첨부합니다.

  7. 이메일을 보냅니다.

머지 리퀘스트가 생성됩니다.

이메일로 머지 리퀘스트를 생성할 때 첨부 파일 추가#

이메일에 패치를 첨부 파일로 추가하여 머지 리퀘스트에 커밋을 추가합니다.

  • 패치의 합산 크기는 2MB 이하여야 합니다.
  • 패치로 간주되려면 첨부 파일의 이름이 .patch로 끝나야 합니다.
  • 패치는 이름 순서로 처리됩니다.
  • 제목의 소스 브랜치가 존재하지 않는 경우 리포지터리의 HEAD 또는 기본 대상 브랜치에서 생성됩니다. 대상 브랜치를 수동으로 변경하려면 /target_branch 빠른 액션을 사용합니다.
  • 소스 브랜치가 이미 존재하는 경우 패치가 그 위에 적용됩니다.

관련 항목#

문제 해결#

이슈에 머지 리퀘스트 생성 옵션 없음#

다음의 경우 이슈에서 Create merge request 옵션이 표시되지 않습니다:

  • 동일한 이름의 브랜치가 이미 존재합니다.
  • 이 브랜치에 대한 머지 리퀘스트가 이미 존재합니다.
  • 프로젝트에 활성 포크 관계가 있습니다.
  • 프로젝트가 비공개이고 이슈가 기밀입니다.

이 버튼을 표시하기 위한 가능한 해결책 중 하나는 프로젝트의 포크 관계 제거입니다. 제거 후 포크 관계를 복원할 수 없습니다. 프로젝트는 더 이상 소스 프로젝트 또는 그 다른 포크에 머지 리퀘스트를 보내거나 받을 수 없습니다.

이메일 메시지를 처리할 수 없음#

이메일을 보내 머지 리퀘스트를 생성할 때 업스트림 리포지터리를 대상으로 시도하면 GitLab이 다음 오류로 응답합니다:

Unfortunately, your email message to GitLab could not be processed.

You are not allowed to perform this action. If you believe this is in error, contact a staff member.