AngularJS commit convetions 정리

손호영·2024년 10월 16일
post-thumbnail

이번 우테코 프리코스를 시작하면서 커밋 메시지를 AngularJS commit convetions를 지켜 작성하기로 결정했습니다. 커밋 메시지를 작성하기 전에 AngularJS commit convetions에 대해 알아보고 정리하겠습니다. 이 글을 작성하면서https://gist.github.com/stephenparish/9941e89d80e2bc58a153#goals 링크를 참고했습니다.

📌 Commit 메시지의 형식

<type>(<scope>): <subject> // Subject Line
<BLANK LINE>               
<body>                     // Message Body
<BLANK LINE>               
<footer>                   // Message Footer

커밋 메시지 형식은 다음과 같습니다. Subject Line이 있고, 빈줄, 그리고 Message body, 빈줄, 마지막으로 Message footer로 이루어집니다. 하나하나씩 살펴보겠습니다.

Subject Line

변경사항에 대한 간단한 설명을 적는 줄입니다.

  • : 커밋의 종류를 정하는 부분입니다.
    • 허용된 <type>
      • feat (feature) : 기능 구현
      • fix (bug fix) : 버그 수정
      • docs (documentation) : 문서 관련
      • style (formatting, missing semi colons, …) : 스타일 관련
      • refactor : 리팩토링 관련
      • test (when adding missing tests) : 테스트 관련
      • chore (maintain) : 빌드, 패키지 관련 혹은 그 외 자잘한 수정
  • : 커밋 변경의 위치를 지정하는 것이면 어떤 것이든 쓸 수 있습니다. 그리고 생략 가능합니다.
    • ex) $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView
    • 잘 이해가 안갈수도 있지만, 그냥 어디가 바뀌었는지에 대해 쓰면 됩니다. 어떤 기능이 바뀌었다면 그 기능을, 문서가 바뀌었다면 문서이름을 적으면 됩니다.
  • : 간단한 설명을 적는 부분입니다.
    • subject 적는 룰
      • 명령형, 현재형을 사용해야 합니다.
      • 첫 글자를 대문자로 쓰지 않아야 합니다.
      • 끝에 점을 쓰지 않아야 합니다.

Message body

  • subject와 마찬가지로 명령형, 현재형을 사용해야 합니다.
  • 변경한 이유와 변경 전과의 차이점을 기술합니다.
  • 필수는 아닙니다.

footer에서는 주요 변경 사항과 어떤 이슈를 해결했는지에 대해 설명합니다.

주요 변경 내역들 (Breaking Changes)

  • 모든 주요 변경 내역들은 다음과 함께 하단에 언급되어야 합니다.
    • 변경점
    • 변경사유
    • 마이그레이션 지시

해결된 이슈 트래킹

이슈가 해결되면 footer에 다음과 같이 기록합니다.

Closes #1234 

만약 이슈가 여러개라면 여러개를 붙여서 나열합니다.

🐣 공부하면서 느낀점 및 회고

지금까지 AnglarJS Commit Message Convention에 대해 알아봤습니다. 지금껏 정확하게 커밋 메세지 컨벤션을 정해놓고 커밋을 하지 않았습니다. 그저 Subject Line만 어설프게 따라했던 것 같은데, 앞으로는 이 규약을 잘 지키면서 커밋을 진행하려고 합니다. 또한 Scope와 Footer에 대해 모호한 개념이 있었는데, 잘 정리가 된 것 같습니다.

profile
안녕하세요. 열심히 해보겠습니다

0개의 댓글