커밋 메시지 템플릿
GitLab은 특정 유형의 커밋에 대해 기본 메시지를 생성하기 위해 커밋 템플릿을 사용합니다.
이 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 장려합니다.
사용자는 병합 요청을 병합할 때 이러한 템플릿을 재정의할 수 있습니다.
커밋 템플릿 구문은 검토 제안을 위한 구문과 같습니다.
GitLab Duo는 템플릿을 구성하지 않아도 병합 커밋 메시지를 생성하는 데 도움을 줄 수 있습니다.
커밋 템플릿 구성하기
기본 템플릿에 필요한 정보가 포함되어 있지 않으면 프로젝트의 커밋 템플릿을 변경하십시오.
전제 조건:
- 프로젝트에 대해 유지 관리자의 역할 이상이 있어야 합니다.
이를 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 생성하려는 템플릿 유형에 따라 병합 커밋 메시지 템플릿 또는 스쿼시 커밋 메시지 템플릿로 스크롤합니다.
- 원하는 커밋 유형에 대해 기본 메시지를 입력합니다. 정적 텍스트와 변수를 모두 사용할 수 있습니다. 각 템플릿은 500자로 제한되지만, 템플릿을 데이터로 교체한 후 최종 메시지는 더 길어질 수 있습니다.
- 변경 사항 저장을 선택합니다.
병합 커밋에 대한 기본 템플릿
병합 커밋 메시지에 대한 기본 템플릿은 다음과 같습니다:
Merge branch '%{source_branch}' into '%{target_branch}'
%{title}
%{issues}
See merge request %{reference}
스쿼시 커밋에 대한 기본 템플릿
프로젝트를 병합 시 커밋 스쿼시하도록 구성한 경우, GitLab은 다음 템플릿을 사용하여 스쿼시 커밋 메시지를 생성합니다:
%{title}
커밋 템플릿에서 지원되는 변수
커밋 메시지 템플릿은 다음과 같은 변수를 지원합니다:
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이 자동으로 커밋 메시지를 다시 업데이트합니다.
프로젝트 템플릿으로 커밋 메시지를 복원하려면 페이지를 새로 고치십시오.