commitメッセージテンプレートの使用


1. Commit Message?


Gitがコミットした場合、Commit Messageによって作成されます.
デフォルトでは、Commit Messageを指定したテンプレート形式で書き込むように設定できますが、テンプレートを必要なフォーマットに変更できます.

2.Commit Messageの基本構造


デフォルトのCommit Messageルールがあります.

Commit Messageルール

  • 見出しと本文を空白行に分割する.
  • タイトルは50文字以内
  • 見出し頭文字大文字
  • タイトル末尾に句点を付けない
  • タイトルは命令文として使用するが、過去形は使用しない
  • 本文各行72文字以内制限
  • 何となぜ
  • Commit Message構造

    type : title
    body
    Resolves
    See also
  • typeフォーマットを指定します.
  • Resolvesでは解決した問題を作成・省略することができ、See alsoでは参照問題を作成・省略することができる.
  • type


    コミットタイプの指定
  • FEAT:新機能
  • FIX:エラー修正
  • DOCS:文書修正
  • STYLE:スタイルに関する機能(コードフォーマット、セミコロン欠落、コード自体変更なし)
  • REFACTOR:コード再構築
  • TEST:試験コードの追加、試験コードの再包装
  • CHORE:構築作業の修正、パッケージマネージャの修正
  • 問題を閉じる


    Commit Messageはgithubの問題を閉じる機能も提供しています.키워드 #이슈번호

    Github問題終了識別キーワード

  • close
  • closes
  • closed
  • fix
  • fixed
  • resolve
  • resolves
  • resolved
  • 各キーワードには機能的な違いはなく、文法やコンテキストで使用するだけです.
    ただし、慣例により、closeシリーズは一般開発問題に適用され、fixシリーズはエラー修復またはホット修復問題に適用され、resolveシリーズはクエリーやリクエストに対応する問題に適用される.

    問題のサンプルを閉じる


    タイトルの適用についてトピックを閉じる
    # 제목에 이슈 한 개 닫기 적용한 사례
    <feature> : <Close #10 - implement login function>
    
    * 로그인 구현 기능 이슈 해결
    複数のホットスポットをコンテンツとして閉じる
    # 내용으로 이슈 여러 개 닫기를 적용한 사례
    <fix> : <fix login error issue>
    
    * 로그인 기능을 구현했으나, 관련 fix 이슈가 많이 발생했고, 이를 해결함
    
    # Resolve 작성 부분
    * Fix #21 Update Login Algorithm
    * Fix #24 Update Login Form

    3. Commit Template


    Commit Templateは、Commitの作成を法的に規範化し、ルールをTemplateに設定し、ユーザーにCommit Logの作成を指導する機能を提供します.

    Commit Templateの作成

  • git-commit-templateをプロジェクトの最上位パスに使用します.txtを作成
  • configファイルにgit commit templateを設定
  • Git-commit-templateからプロジェクトの最上位へのパス。txtの作成


    git-commit-templateはCommit Messageルールに従って作成し、ユーザーが簡単に表示できるように作成する必要があります.
    git-commit-template.txtの作成例
    # <타입> : <제목> 형식으로 작성하며 제목은 최대 50글자 정도로만 입력
    # 제목을 아랫줄에 작성, 제목 끝에 마침표 금지, 무엇을 했는지 명확하게 작성
    
    ################
    # 본문(추가 설명)을 아랫줄에 작성
    
    ################
    # 꼬릿말(footer)을 아랫줄에 작성 (관련된 이슈 번호 등 추가)
    
    ################
    # feature : 새로운 기능 추가
    # fix : 버그 수정
    # docs : 문서 수정
    # test : 테스트 코드 추가
    # refactor : 코드 리팩토링
    # style : 코드 의미에 영향을 주지 않는 변경사항
    # chore : 빌드 부분 혹은 패키지 매니저 수정사항
    ################
    
    ################
    # Remember me ~
    #  제목줄을 대문자로 작성
    #  제목줄은 명령어로 작성
    #  제목줄은 마침표로 끝내지 않는다.
    #  본문과 제목에는 빈줄을 넣어서 구분한다.
    #  본문에는 "어떻게" 보다는 "왜"와 "무엇을" 설명한다.
    #  본문에 목록을 나타낼때는 "-"로 시작한다.
    ################

    configファイルでgit commit templateを設定する


    作成したgit-commit-template.commitを作成する場合は、txtをプロファイル内のテンプレートに設定する必要があります.git config commit.template '프로젝트 경로/git-commit-template.txt'
  • すべての項目にテンプレートを一括適用--globalオプションを追加.
  • 登録が完了しているか確認するため、git config --list確認できます.
  • configファイルに登録する例git config commit.template ./git-commit-template.txt結果

    Commit templateパーソナライズ


    卒業をテーマにしたプロジェクトのテンプレートを共有します.
    # <타입> : <제목> 형식으로 작성하세요
    ################
    # 타입 설정하기
    ## feature : 새로운 기능 추가
    ## fix : 버그 수정
    ## docs : 문서 수정
    ## test : 테스트 코드 추가
    ## refactor : 코드 리팩토링
    ## style : 코드 의미에 영향을 주지 않는 변경사항
    ## chore : 빌드 부분 혹은 패키지 매니저 수정사항
    # 제목 설정하기
    ## 제목 작성 후 공백 한줄을 포함해야, 제목과 본문이 구별됨
    ## 제목 첫 글자는 대문자로 작성, 마침표를 사용하지 않음
    ## 제목은 명령문으로 사용, 과거형을 사용하지 않음
    ## 제목은 50글자로 제한
    ################
    ##### 제목을 아랫줄에 작성하세요 #####
    
    
    ################
    # 본문 설정
    ## 본문 작성 후 공백 한줄을 포함해야, 본문과 Resolves가 구별됨
    ## 본문의 각 행은 72글자로 제한
    ## 본문은 "왜"와 "무엇을"위주로 작성
    ## 본문은 행으로 구분되어야 함
    ## 본문의 내용은 *으로 시작함
    ################
    ##### 본문(추가 설명)을 아랫줄에 작성하세요 #####
    
    ################
    # Resolves 설정
    ## Resolves 작성 후 공백 한줄을 포함해야, Resolves와 See also가 구별됨
    ## Resolves의 내용도 *으로 시작함
    ## 해결한 이슈는 닫을 수 있도록 함.
    # 이슈 종료 방법
    ##  '키워드 #이슈번호'
    # issue 종료 키워드 (github)
    ## * close - 일반 개발 이슈
    ## * closes
    ## * closed
    ## * fix - 버그 fix 이슈
    ## * fixed
    ## * resolve - 문의 요청사항 이슈
    ## * resolves
    ## * resolved
    ################
    ##### Resolves를 작성하세요 (생략 가능) #####
    
    ################
    # See also 설정
    ## 연관된 이슈의 경우 이슈 번호와 연관 이슈 내용을 입력
    ## See also의 내용도 *으로 시작함
    ################
    ##### See also를 작성하세요 (생략 가능) #####
    
    ################
    # Remember me ~ Commit Message 규칙
    ## 1. 제목과 본문을 빈 행으로 구분한다.
    ## 2. 제목을 50글자 내로 제한
    ## 3. 제목 첫 글자는 대문자로 작성
    ## 4. 제목 끝에 마침표 넣지 않기
    ## 5. 제목은 명령문으로 사용하되, 과거형을 사용하지 않는다.
    ## 6. 본문의 각 행은 72글자 내로 제한
    ## 7. 어떻게 보다는 무엇과 왜를 설명
    ################

    テンプレート作成時のシェイプ



    テンプレート作成後のCommit Log


    git log git log --oneline

    Reference


    Meetup Blog post