티스토리 뷰

커밋 메세지 형식

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

커밋 메세지의 행은 100자를 초과할 수 없다! 이를 통해 다양한 git 툴뿐만 아니라 github에서도 메세지를 쉽게 읽을 수 있다.

 

Subject Line

변경에 대한 간결한 설명이 포함되어야 함.

허용된 <type>

  • feat (feature)
  • fix (bug fix)
  • docs (documentation)
  • style (formatting, missing semi colons, …)
  • refactor
  • test (when adding missing tests)
  • chore (maintain)

허용된 <scope>

변경된 부분이라면 무엇이든 지정될 수 있다.

예를 들어 $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView 등...

생략 가능하다.

 

<subject> 본문

  • 명령형 또는 현재형을 사용한다. changed 또는 changes가 아니라 change 사용.
  • 첫 글자를 대문자로 쓰지 않는다.
  • 끝에는 (.)을 사용하지 않는다.

 

Message Body

  • 명령형 또는 현재형을 사용한다. changed 또는 changes가 아니라 change 사용.
  • 변경하게 된 이유를 포함하고 변경 이전 코드와 변경 이후 코드를 비교한다.

 

Message Footer

주요 변경 내용

모든 주요 변경 내용은 바닥글에 변경에 대한 설명, 변경 사유, 이행에 대한 내용을 언급해야 한다.

BREAKING CHANGE: isolate scope bindings definition has changed and
the inject option for the directive controller injection was removed.

To migrate the code follow the example below:

Before:

scope: {
    myAttr: 'attribute',
    myBind: 'bind',
    myExpression: 'expression',
    myEval: 'evaluate',
    myAccessor: 'accessor'
}

After:

scope: {
    myAttr: '@',
    myBind: '@',
    myExpression: '&',
    // myEval - usually not useful, but in cases where the expression is assignable, you can use '='
    myAccessor: '=' // in directive's template change myAccessor() to myAccessor
}

The removed `inject` wasn't generaly useful for directives so there should be no code using it.

 

해결된 이슈

해결된 이슈는 별도의 행에 Closes 키워드를 앞에 붙여 다음과 같이 나열할 수 있다.

Closes #234

해결된 문제가 여러개인 경우

Closes #123, #245, #992

 

예시

feat($browser): onUrlChange event (popstate/hashchange/polling)

Added new event to $browser:
- forward popstate event if available
- forward hashchange event if popstate not available
- do polling when neither popstate nor hashchange available

Breaks $browser.onHashChange, which was removed (use onUrlChange instead)
fix($compile): couple of unit tests for IE9

Older IEs serialize html uppercased, but IE9 does not...
Would be better to expect case insensitive, unfortunately jasmine does
not allow to user regexps for throw expectations.

Closes #392
Breaks foo.bar api, foo.baz should be used instead
feat(directive): ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected

New directives for proper binding these attributes in older browsers (IE).
Added coresponding description, live examples and e2e tests.

Closes #351
style($location): add couple of missing semi colons
docs(guide): updated fixed docs from Google Docs

Couple of typos fixed:
- indentation
- batchLogbatchLog -> batchLog
- start periodic checking
- missing brace
feat($compile): simplify isolate scope bindings

Changed the isolate scope binding options to:
    - @attr - attribute binding (including interpolation)
    - =model - by-directional model binding
    - &expr - expression execution binding

This change simplifies the terminology as well as
number of choices available to the developer. It
also supports local name aliasing from the parent.

BREAKING CHANGE: isolate scope bindings definition has changed and
the inject option for the directive controller injection was removed.

To migrate the code follow the example below:

Before:

scope: {
    myAttr: 'attribute',
    myBind: 'bind',
    myExpression: 'expression',
    myEval: 'evaluate',
    myAccessor: 'accessor'
}

After:

scope: {
    myAttr: '@',
    myBind: '@',
    myExpression: '&',
    // myEval - usually not useful, but in cases where the expression is assignable, you can use '='
    myAccessor: '=' // in directive's template change myAccessor() to myAccessor
}

The removed `inject` wasn't generaly useful for directives so there should be no code using it.

 

참고

Commit Message Conventions

Git 커밋 메세지 규약 정리 - The AngularJS commit conventions.

'Git' 카테고리의 다른 글

우아한테크캠프 Pro 5기 - 코드 리뷰 및 Git, GitHub 사용법  (0) 2022.10.25
fatal: remote origin already exists.  (0) 2021.04.14
Git 기본 사용법  (0) 2020.12.25
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글