커밋 메시지 템플릿
Tier: Free, Premium, Ultimate
Offering: GitLab.com, 자체 호스팅, GitLab Dedicated
GitLab은 커밋 템플릿을 사용하여 특정 유형의 커밋에 대한 기본 메시지를 생성합니다. 이러한 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 장려합니다. 사용자는 Merge Request을 Merge할 때 이러한 템플릿을 재정의할 수 있습니다.
커밋 템플릿은 리뷰 제안의 구문과 유사한 구문을 사용합니다.
커밋 템플릿 구성
기본 템플릿에 필요한 정보가 포함되어 있지 않은 경우 프로젝트의 커밋 템플릿을 변경하세요.
필수 조건:
- 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.
수행 방법:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > Merge Request을 선택합니다.
- 만들고자 하는 템플릿 유형에 따라 Merge 커밋 메시지 템플릿 또는 스쿼시 커밋 메시지 템플릿으로 스크롤합니다.
- 원하는 커밋 유형에 대해 기본 메시지를 입력합니다. 정적 텍스트와 변수를 모두 사용할 수 있습니다. 각 템플릿은 최대 500자로 제한되지만 템플릿을 데이터로 대체한 후 최종 메시지가 더 길어질 수 있습니다.
- 변경 사항 저장을 선택합니다.
Merge 커밋을 위한 기본 템플릿
Merge 커밋 메시지의 기본 템플릿은 다음과 같습니다:
'%{source_branch}' 브랜치를 '%{target_branch}'에 Merge합니다.
%{title}
%{issues}
Merge Request 보기 %{reference}
스쿼시 커밋을 위한 기본 템플릿
프로젝트에서 Merge 시 커밋을 스쿼시로 설정한 경우, GitLab은 다음 템플릿으로 스쿼시 커밋 메시지를 만듭니다:
%{title}
커밋 템플릿에서 지원되는 변수
- GitLab 14.5에서 소개됨
first_commit
및first_multiline_commit
변수는 GitLab 14.6에서 소개됨.url
,approved_by
,merged_by
변수는 GitLab 14.7에서 소개됨.co_authored_by
변수는 GitLab 14.7에서 소개됨.all_commits
변수는 GitLab 14.9에서 소개됨.reviewed_by
변수는 GitLab 15.7에서 소개됨.local_reference
변수는 GitLab 16.1에서 소개됨.source_project_id
변수는 GitLab 16.3에서 소개됨.
커밋 메시지 템플릿에서 다음 변수를 지원합니다:
변수 | 설명 | 출력 예시 |
---|---|---|
%{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이 자동으로 커밋 메시지를 다시 업데이트합니다. 프로젝트 템플릿의 커밋 메시지를 복원하려면 페이지를 다시 로드하세요.