커밋 메시지 템플릿
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab은 커밋 템플릿을 사용하여 특정 유형의 커밋에 대한 기본 메시지를 생성합니다. 커밋 템플릿 구문은 리뷰 제안의 구문과 유사합니다. GitLab Duo는 템플릿을 구성하지 않아도 머지 커밋 메시지를 생성하는 데 도움을 줄 수 있습니다.
GitLab은 커밋 템플릿을 사용하여 특정 유형의 커밋에 대한 기본 메시지를 생성합니다. 이러한 템플릿은 커밋 메시지가 특정 형식을 따르거나 특정 정보를 포함하도록 권장합니다. 사용자는 머지 리퀘스트를 머지할 때 이러한 템플릿을 재정의할 수 있습니다.
커밋 템플릿 구문은 리뷰 제안의 구문과 유사합니다.
GitLab Duo는 템플릿을 구성하지 않아도 머지 커밋 메시지를 생성하는 데 도움을 줄 수 있습니다.
커밋 템플릿 구성#
기본 템플릿에 필요한 정보가 포함되지 않은 경우 프로젝트의 커밋 템플릿을 변경합니다.
사전 요구 사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
이 작업을 수행하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > Merge requests를 선택합니다.
- 생성할 템플릿 유형에 따라 Merge commit message template 또는 Squash commit message template로 스크롤합니다.
- 원하는 커밋 유형에 대해 기본 메시지를 입력합니다. 정적 텍스트와 변수를 모두 사용할 수 있습니다. 각 템플릿은 500자로 제한되지만 템플릿을 데이터로 대체한 후 최종 메시지는 더 길어질 수 있습니다.
- Save changes를 선택합니다.
머지 커밋의 기본 템플릿#
머지 커밋 메시지의 기본 템플릿은 다음과 같습니다:
Merge branch '%{source_branch}' into '%{target_branch}'
%{title}
%{issues}
See merge request %{reference}
스쿼시 커밋의 기본 템플릿#
머지 시 커밋 스쿼시하도록 프로젝트를 구성한 경우 GitLab은 다음 템플릿으로 스쿼시 커밋 메시지를 생성합니다:
%{title}
커밋 템플릿에서 지원되는 변수#
히스토리
커밋 메시지 템플릿은 다음 변수를 지원합니다:
| 변수 | 설명 | 출력 예시 |
|---|---|---|
%{source_branch} |
머지할 브랜치의 이름. | my-feature-branch |
%{target_branch} |
변경 사항을 적용할 브랜치의 이름. | main |
%{title} |
머지 리퀘스트의 제목. | Fix tests and translations |
%{issues} |
Closes <이슈 번호> 문구가 포함된 문자열. 이슈 자동 닫기 패턴과 일치하는 머지 리퀘스트 설명에 언급된 모든 이슈를 포함. 이슈가 언급되지 않은 경우 비어 있음. |
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} |
머지 커밋이 아니고 메시지 본문에 두 줄 이상이 있는 첫 번째 커밋의 전체 메시지. 모든 커밋이 멀티라인이 아닌 경우 머지 리퀘스트 제목. | Update README.mdImproved project description in readme file. |
%{first_multiline_commit_description} |
머지 커밋이 아니고 메시지 본문에 두 줄 이상이 있는 첫 번째 커밋의 설명(첫 번째 줄/제목 제외). | 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개로 제한. 100KiB를 초과하는 커밋 본문 및 머지 커밋 메시지 건너뜀. | * Feature introduced This commit implements feature Changelog:added * Bug fixed * Documentation improved This commit introduced better docs. |
빈 변수만 포함하는 줄은 제거됩니다. 제거된 줄의 앞뒤에 빈 줄이 있는 경우 앞에 있는 빈 줄도 제거됩니다.
열린 머지 리퀘스트에서 커밋 메시지를 편집하면 GitLab이 자동으로 커밋 메시지를 다시 업데이트합니다. 커밋 메시지를 프로젝트 템플릿으로 복원하려면 페이지를 다시 로드합니다.
