ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git commit convention, 깃 커밋 컨벤션, How to commit, 커밋 메시지 포맷, Angular JS git commit message conventions
    Programming 2021. 4. 26. 21:32
    반응형

    gist.github.com/stephenparish/9941e89d80e2bc58a153

     

    AngularJS Git Commit Message Conventions

    AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

    gist.github.com

     

    Git commit 시에 메시지에 대한 컨벤션

    Git commit convention

     

     

    참고하는 방법으로,

     

    1. 커밋 메시지 포맷을 본다.

    2. Subject line 에서 type에 들어가는 것들을 본다.

    3. Subject line 에서 scope에 들어가는 것들을 본다.

    4. Message body에 들어가는 내용을 확인한다.

    5. Message footer에 들어가는 내용을 확인한다.

    6. 아래 예제를 확인하며 실상황에 대입해본다.

     

    ====================================================


    3가지의 section이 changelog에 있다.
    -  new features
    -  bug fixes
    -  breaking changes

    * 릴리즈 할 때, 
    List of all subjects (first lines in commit message) since last release:
    git log <last tag> HEAD --pretty=format:%s
    New features in this release
    git log <last release> HEAD --grep feature

    * 중요하지 않은 것은 skip 할 수 있다.
    When bisecting, you can ignore these by:
    git bisect skip $(git rev-list --grep irrelevant <good place> HEAD)

    Provide more information when browsing the history
    * 히스토리를 찾아볼 때, 더 많은 정보를 제공한다.
    * 내부를 자세하게 설명하면서 + Convention을 만들어서 커밋하면 나중에 보고, 찾기 쉽다.

     

    ===================================================

     

    ------------------------------------------------------

    Format of the commit message
    커밋 메시지의 포맷

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

    ------------------------------------------------------

     

    ## Subject line
    Subject line contains succinct description of the change.

    - Allowed <type>
    feat (feature)
    fix (bug fix)
    docs (documentation)
    style (formatting, missing semi colons, …)
    refactor
    test (when adding missing tests)
    chore (maintain)

    - Allowed <scope>

    Scope could be anything specifying place of the commit change. 
    For example 
    $location, 
    $browser
    $compile
    $rootScope
    ngHref
    ngClick
    ngView
    etc...

    - <subject> text
    use imperative, present tense: “change” not “changed” nor “changes”
    don't capitalize first letter
    no dot (.) at the end

    ------------------------------------------------------

    ## Message body
    - just as in use imperative, present tense: “change” not “changed” nor “changes”
    - includes motivation for the change and contrasts with previous behavior

    ------------------------------------------------------

     

    ## Message footer
    Breaking changes
    All breaking changes have to be mentioned in footer with the description of the change, 
    justification and migration notes


    ## 고쳐진 버그 닫는다.
    Referencing issues
    - Closed bugs should be listed on a separate line in the footer prefixed with "Closes" keyword like this:
    Closes #234
    - or in case of multiple issues:
    Closes #123, #245, #992

    ---------------------------------------------------------------
    ## 예시 (Example)
    Examples
    ---------------------------------------------------------------

     

    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.

     

    반응형
Designed by Tistory.