커밋 메시지 템플릿

Tier: Free, Premium, Ultimate Offering: GitLab.com, 자체 호스팅, GitLab Dedicated

GitLab은 커밋 템플릿을 사용하여 특정 유형의 커밋에 대한 기본 메시지를 생성합니다. 이러한 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 장려합니다. 사용자는 Merge Request을 Merge할 때 이러한 템플릿을 재정의할 수 있습니다.

커밋 템플릿은 리뷰 제안의 구문과 유사한 구문을 사용합니다.

커밋 템플릿 구성

기본 템플릿에 필요한 정보가 포함되어 있지 않은 경우 프로젝트의 커밋 템플릿을 변경하세요.

필수 조건:

  • 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.

수행 방법:

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

Merge 커밋을 위한 기본 템플릿

Merge 커밋 메시지의 기본 템플릿은 다음과 같습니다:

'%{source_branch}' 브랜치를 '%{target_branch}'에 Merge합니다.

%{title}

%{issues}

Merge Request 보기 %{reference}

스쿼시 커밋을 위한 기본 템플릿

프로젝트에서 Merge 시 커밋을 스쿼시로 설정한 경우, GitLab은 다음 템플릿으로 스쿼시 커밋 메시지를 만듭니다:

%{title}

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

커밋 메시지 템플릿에서 다음 변수를 지원합니다:

변수 설명 출력 예시
%{source_branch} Merge되는 브랜치의 이름 my-feature-branch
%{target_branch} 변경 사항이 적용된 브랜치의 이름 main
%{title} Merge Request의 제목 테스트 및 번역 수정
%{issues} Closes <이슈 번호> 구문을 포함하는 문자열. Merge Request 설명에서 언급된 모든 이슈( 이슈 마감 패턴과 일치하는)를 포함합니다. 이슈가 언급되지 않은 경우 비어 있습니다. Closes #465, #190 및 #400
%{description} Merge Request 설명 Merge Request 설명입니다.
여러 줄에 걸쳐 작성될 수 있습니다.
%{reference} Merge Request에 대한 참조 group-name/project-name!72359
%{local_reference} Merge Request에 대한 로컬 참조 !72359
%{source_project_id} Merge Request의 소스 프로젝트 ID 123
%{first_commit} Merge Request diff에서 첫 번째 커밋의 전체 메시지 README.md 업데이트
%{first_multiline_commit} Merge 커밋이며 메시지 본문이 하나 이상인 첫 번째 커밋의 전체 메시지. 모든 커밋이 멀티라인인 경우 Merge Request 제목. README.md 업데이트

리드미 파일에서 프로젝트 설명 개선함.
%{url} Merge Request의 전체 URL https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1
%{reviewed_by} 일괄 코멘트를 통해 리뷰를 제출한 사용자를 기준으로한 Merge Request 리뷰어의 줄별 디렉터리. Reviewed-by Git 커밋 trailer 형식. Reviewed-by: Sidney Jones <sjones@example.com>
Reviewed-by: Zhang Wei <zwei@example.com>
%{approved_by} Merge Request 승인자의 줄별 디렉터리. Approved-by Git 커밋 trailer 형식. Approved-by: Sidney Jones <sjones@example.com>
Approved-by: Zhang Wei <zwei@example.com>
%{merged_by} Merge Request을 Merge한 사용자 Alex Garcia <agarcia@example.com>
%{co_authored_by} Co-authored-by Git 커밋 trailer 형식의 커밋 작성자 이름 및 이메일. Merge Request의 최근 100개 커밋 작성자로 제한됨. Co-authored-by: Zane Doe <zdoe@example.com>
Co-authored-by: Blake Smith <bsmith@example.com>
%{all_commits} Merge Request의 모든 커밋 메시지. 최근 100개 커밋으로 제한됨. 100 KiB를 초과하는 커밋 본문 및 Merge 커밋 메시지는 건너뜁니다. * 기능 도입

이 커밋은 기능을 구현함
Changelog: 추가됨

* 버그 수정

* 문서 개선

이 커밋은 더 나은 문서를 도입함.

비어 있는 변수만 포함된 줄은 삭제됩니다. 삭제할 줄이 앞뒤로 빈 줄인 경우 앞의 빈 줄도 삭제됩니다.

열려 있는 Merge Request의 커밋 메시지를 편집한 후에는 GitLab이 자동으로 커밋 메시지를 다시 업데이트합니다. 프로젝트 템플릿의 커밋 메시지를 복원하려면 페이지를 다시 로드하세요.

관련 주제