커밋 메시지 템플릿

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

GitLab은 특정 유형의 커밋에 대해 기본 메시지를 생성하기 위해 커밋 템플릿을 사용합니다.

이 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 장려합니다.

사용자는 병합 요청을 병합할 때 이러한 템플릿을 재정의할 수 있습니다.

커밋 템플릿 구문은 검토 제안을 위한 구문과 같습니다.

GitLab Duo는 템플릿을 구성하지 않아도 병합 커밋 메시지를 생성하는 데 도움을 줄 수 있습니다.

커밋 템플릿 구성하기

기본 템플릿에 필요한 정보가 포함되어 있지 않으면 프로젝트의 커밋 템플릿을 변경하십시오.

전제 조건:

  • 프로젝트에 대해 유지 관리자의 역할 이상이 있어야 합니다.

이를 수행하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 병합 요청을 선택합니다.
  3. 생성하려는 템플릿 유형에 따라 병합 커밋 메시지 템플릿 또는 스쿼시 커밋 메시지 템플릿로 스크롤합니다.
  4. 원하는 커밋 유형에 대해 기본 메시지를 입력합니다. 정적 텍스트와 변수를 모두 사용할 수 있습니다. 각 템플릿은 500자로 제한되지만, 템플릿을 데이터로 교체한 후 최종 메시지는 더 길어질 수 있습니다.
  5. 변경 사항 저장을 선택합니다.

병합 커밋에 대한 기본 템플릿

병합 커밋 메시지에 대한 기본 템플릿은 다음과 같습니다:

Merge branch '%{source_branch}' into '%{target_branch}'

%{title}

%{issues}

See merge request %{reference}

스쿼시 커밋에 대한 기본 템플릿

프로젝트를 병합 시 커밋 스쿼시하도록 구성한 경우, GitLab은 다음 템플릿을 사용하여 스쿼시 커밋 메시지를 생성합니다:

%{title}

커밋 템플릿에서 지원되는 변수

  • reviewed_by 변수는 GitLab 15.7에 도입됨.
  • local_reference 변수는 GitLab 16.1에 도입됨.
  • source_project_id 변수는 GitLab 16.3에 도입됨.
  • merge_request_author 변수는 GitLab 17.1에 도입됨.

커밋 메시지 템플릿은 다음과 같은 변수를 지원합니다:

Variable Description Output example
%{source_branch} 병합할 브랜치의 이름. my-feature-branch
%{target_branch} 변경 사항을 적용할 브랜치의 이름. main
%{title} 병합 요청의 제목. Fix tests and translations
%{issues} 문자열에 Closes <issue numbers>가 포함되어 있습니다. 병합 요청 설명에 언급된 모든 이슈가 포함되어 있습니다. Closes #465, #190 and #400
%{description} 병합 요청의 설명. Merge request description.
Can be multiline.
%{reference} 병합 요청에 대한 참조. group-name/project-name!72359
%{local_reference} 병합 요청의 지역 참조. !72359
%{source_project_id} 병합 요청의 소스 프로젝트 ID. 123
%{first_commit} 병합 요청 diff에서 첫 번째 커밋의 전체 메시지. Update README.md
%{first_multiline_commit} merge commit이 아니고 메시지 본문에 2줄 이상인 첫 번째 커밋의 전체 메시지. 모든 커밋이 멀티라인이 아닐 경우 병합 요청 제목. Update README.md

Improved project description in readme file.
%{url} 병합 요청의 전체 URL. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1
%{reviewed_by} Reviewed-by Git 커밋 트레일러 형식으로, 일괄 코멘트를 통해 검토를 제출한 사용자를 기준으로 병합 요청 검토자의 목록. Reviewed-by: Sidney Jones <sjones@example.com>
Reviewed-by: Zhang Wei <zwei@example.com>
%{approved_by} Approved-by Git 커밋 트레일러 형식으로, 병합 요청 승인자의 목록. Approved-by: Sidney Jones <sjones@example.com>
Approved-by: Zhang Wei <zwei@example.com>
%{merged_by} 병합 요청을 병합한 사용자. Alex Garcia <agarcia@example.com>
%{merge_request_author} 병합 요청 작성자의 이름과 이메일. Zane Doe <zdoe@example.com>
%{co_authored_by} Co-authored-by Git 커밋 트레일러 형식의 커밋 작성자 이름과 이메일. 병합 요청에서 최근 100개의 커밋 작성자로 제한됩니다. Co-authored-by: Zane Doe <zdoe@example.com>
Co-authored-by: Blake Smith <bsmith@example.com>
%{all_commits} 병합 요청의 모든 커밋 메시지. 최근 100개 커밋으로 제한됩니다. 100 KiB를 초과하는 커밋 본문과 병합 커밋 메시지는 건너뜁니다. * Feature introduced

This commit implements feature
Changelog:added

* Bug fixed

* Documentation improved

This commit introduced better docs.

빈 변수만 포함된 줄은 제거됩니다. 제거된 줄이 모두 빈 줄로 앞뒤가 둘러싸인 경우, 앞의 빈 줄도 제거됩니다.

열린 병합 요청에서 커밋 메시지를 편집하면 GitLab이 자동으로 커밋 메시지를 다시 업데이트합니다.
프로젝트 템플릿으로 커밋 메시지를 복원하려면 페이지를 새로 고치십시오.

관련 주제