커밋 메시지 템플릿
GitLab은 커밋 템플릿을 사용하여 특정 유형의 커밋에 대한 기본 메시지를 생성합니다. 이러한 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 장려합니다. 사용자는 병합 요청을 병합할 때 이러한 템플릿을 재정의할 수 있습니다.
커밋 템플릿 구문은 리뷰 제안의 구문과 유사합니다.
GitLab Duo를 사용하면 템플릿을 구성하지 않았더라도 병합 커밋 메시지를 생성하는 데 도움을 받을 수 있습니다.
커밋 템플릿 구성
기본 템플릿에 필요한 정보가 포함되어 있지 않다면 프로젝트의 커밋 템플릿을 변경하십시오.
전제 조건:
- 프로젝트에 대한 최소한의 Maintainer 역할이 있어야 합니다.
다음을 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 생성하려는 템플릿 유형에 따라 병합 커밋 메시지 템플릿 또는 스쿼시 커밋 메시지 템플릿로 스크롤합니다.
- 원하는 커밋 유형에 대한 기본 메시지를 입력합니다. 정적 텍스트와 변수를 모두 사용할 수 있습니다. 각 템플릿은 500자로 제한되지만 템플릿을 데이터로 대체한 후 최종 메시지가 더 길어질 수 있습니다.
- 변경 사항 저장을 선택합니다.
병합 커밋을 위한 기본 템플릿
병합 커밋 메시지를 위한 기본 템플릿은 다음과 같습니다:
'%{source_branch}' 브랜치를 '%{target_branch}'에 병합
%{title}
%{issues}
병합 요청 참조: %{reference}
스쿼시 커밋을 위한 기본 템플릿
프로젝트를 병합할 때 커밋을 스쿼시로 구성한 경우, GitLab은 해당 템플릿으로 스쿼시 커밋 메시지를 생성합니다:
%{title}
커밋 템플릿에서 지원되는 변수
커밋 메시지 템플릿은 다음 변수를 지원합니다:
변수 | 설명 | 출력 예시 |
---|---|---|
%{source_branch}
| 병합할 브랜치의 이름 | my-feature-branch
|
%{target_branch}
| 변경 사항을 적용할 브랜치의 이름 | main
|
%{title}
| 병합 요청 제목 | 테스트 및 번역 수정
|
%{issues}
|
Closes <issue numbers> 구문을 포함하는 문자열. 병합 요청 설명에 언급된 모든 이슈를 포함하며, 이슈 종료 패턴과 일치하는 경우 포함합니다. 이슈가 언급되지 않았다면 비어 있습니다.
| #465, #190 및 #400을(를) 종료
|
%{description}
| 병합 요청 설명 |
병합 요청 설명. 여러 줄로 작성할 수 있습니다.
|
%{reference}
| 병합 요청에 대한 참조 | group-name/project-name!72359
|
%{local_reference}
| 병합 요청에 대한 로컬 참조 | !72359
|
%{source_project_id}
| 병합 요청의 소스 프로젝트의 ID | 123
|
%{first_commit}
| 변경 사항의 첫 번째 커밋의 전체 메시지 | README.md 수정
|
%{first_multiline_commit}
| 병합 커밋이 아니고 메시지 본문이 여러 줄인 첫 번째 커밋의 전체 메시지. 모든 커밋이 여러 줄인 경우 병합 요청 제목입니다. |
README.md 수정 README 파일에서 프로젝트 설명을 향상시켰습니다.
|
%{url}
| 병합 요청에 대한 전체 URL | https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1
|
%{reviewed_by}
|
Git commit 트레일러 형식의 줄로 구분된 병합 요청 리뷰어 목록, 배치 댓글을 통해 리뷰를 제출한 사용자를 기반으로 합니다.
|
Reviewed-by: Sidney Jones <sjones@example.com> Reviewed-by: Zhang Wei <zwei@example.com>
|
%{approved_by}
|
Git commit 트레일러 형식의 줄로 구분된 병합 요청 승인자 목록
|
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를 초과하는 커밋 본문과 병합 커밋 메시지는 제외됩니다. |
* 기능 추가 이 커밋은 기능을 구현합니다 변경 로그:추가됨 * 버그 수정 * 문서가 개선됨 이 커밋은 더 나은 문서를 도입했습니다.
|
빈 변수만 포함하는 행은 제거됩니다. 제거된 줄이 전후로 모두 빈 줄일 경우, 앞의 빈 줄도 제거됩니다.
열린 병합 요청에서 커밋 메시지를 편집하면 GitLab이 자동으로 커밋 메시지를 다시 업데이트합니다. 프로젝트 템플릿으로 커밋 메시지를 복원하려면 페이지를 다시 로드하십시오.