커밋 메시지 템플릿

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

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

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

GitLab Duo를 사용하면 템플릿을 구성하지 않았더라도 병합 커밋 메시지를 생성하는 데 도움을 받을 수 있습니다.

커밋 템플릿 구성

기본 템플릿에 필요한 정보가 포함되어 있지 않다면 프로젝트의 커밋 템플릿을 변경하십시오.

전제 조건:

  • 프로젝트에 대한 최소한의 Maintainer 역할이 있어야 합니다.

다음을 수행하려면:

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

병합 커밋을 위한 기본 템플릿

병합 커밋 메시지를 위한 기본 템플릿은 다음과 같습니다:

'%{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이 자동으로 커밋 메시지를 다시 업데이트합니다. 프로젝트 템플릿으로 커밋 메시지를 복원하려면 페이지를 다시 로드하십시오.

관련 주제