{"id":23089511,"url":"https://github.com/hyeokjaelee/good-commit-message","last_synced_at":"2026-03-20T00:32:07.884Z","repository":{"id":119620505,"uuid":"387735243","full_name":"HyeokjaeLee/good-commit-message","owner":"HyeokjaeLee","description":":memo: 좋은 Commit Message 작성 규칙","archived":false,"fork":false,"pushed_at":"2021-07-20T13:47:26.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-10T22:40:04.946Z","etag":null,"topics":["commit-message","document"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HyeokjaeLee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-20T09:08:47.000Z","updated_at":"2023-03-07T14:31:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"c3382563-36fb-4f3a-bd79-b785eb48803a","html_url":"https://github.com/HyeokjaeLee/good-commit-message","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HyeokjaeLee/good-commit-message","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HyeokjaeLee%2Fgood-commit-message","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HyeokjaeLee%2Fgood-commit-message/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HyeokjaeLee%2Fgood-commit-message/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HyeokjaeLee%2Fgood-commit-message/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HyeokjaeLee","download_url":"https://codeload.github.com/HyeokjaeLee/good-commit-message/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HyeokjaeLee%2Fgood-commit-message/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29326841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T03:52:29.695Z","status":"ssl_error","status_checked_at":"2026-02-11T03:52:23.094Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commit-message","document"],"created_at":"2024-12-16T20:36:44.551Z","updated_at":"2026-02-11T04:03:11.169Z","avatar_url":"https://github.com/HyeokjaeLee.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![header](https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026height=100\u0026section=header\u0026text=Good%20Commit%20Message\u0026fontSize=30\u0026fontAlign=50\u0026fontAlignY=50)\n\n\u003e :memo: 좋은 커밋 메시지 작성하기 \u003cbr\u003e\n\n## :bookmark: Commit Message\n\n### 구조\n\n```\n{type}({scope}): subject //header\n\n{body} //body\n\n{footer} //footer\n```\n\n### 규칙\n\n- #### Header(필수)\n\n  - 본문과 빈 행으로 구분한다.\n  - 50글자 내로 제한한다.\n  - 첫 글자는 대문자로 작성한다.\n  - 끝에 특수문자를 넣지 않는다.\n    \u003e 마침표, 느낌표, 물음표\n  - 명령문으로 작성한다.\n    \u003e 한글로 작성 시: \"고침\", \"추가\", \"삭제\", \"변경\" 등\u003cbr\u003e\n    \u003e 영어로 작성 시: \"Fix\", \"Add\", \"Delete\", \"Change\" 등\n  - 과거형으로 작성하지 않는다.\n\n- #### Body(생략 가능)\n\n  - 각 행은 72글자 내로 제한한다.\n  - 어떻게 보다는 무엇과 왜를 설명한다.\n\n- #### Footer(생략 가능)\n\n  - 이슈 트래커 ID 작성한다.\n  - \"유형: #이슈 번호\" 형식으로 작성한다.\n    \u003e Resolves: #123, #1234\u003cbr\u003e\n    \u003e Ref: #124\n  - 여러 개의 이슈 번호를 적을 때는 쉼표로 구분한다.\n  - 이슈 트래커 유형\n    \u003e Fixes: issue 수정중\u003cbr\u003e\n    \u003e Resovles: issue 해결\u003cbr\u003e\n    \u003e Ref: 참고할 issue가 있을 때 사용\u003cbr\u003e\n    \u003e Related to: 해당 커밋에 관련된 issue 번호 (아직 해결되지 않은 경우)\n\n## :bulb:Header\n\n- ### Type\n\n  |    태그 이름     | 설명                                                                          | 관련 Emoji                                    |\n  | :--------------: | :---------------------------------------------------------------------------- | :-------------------------------------------- |\n  |       Feat       | 새로운 기능을 추가할 경우                                                     | :sparkles::sparkles                           |\n  |       Fix        | 버그를 고친 경우                                                              | :bug::bug                                     |\n  |      Design      | CSS 등 사용자 UI 디자인 변경                                                  | :lipstick::lipstick                           |\n  | !BREAKING CHANGE | 대규모 수정                                                                   | :boom::boom                                   |\n  |     !HOTFIX      | 급하게 치명적인 버그를 고쳐야하는 경우                                        | :ambulance::ambulance                         |\n  |      Style       | 코드 포맷 변경, 세미 콜론 누락,\u003cbr\u003e 코드 수정이 없는 경우                     | :art::art                                     |\n  |     Refactor     | 프로덕션 코드 리팩토링                                                        | :recycle::recycle                             |\n  |     Comment      | 주석 추가 및 변경                                                             | :bulb::bulb                                   |\n  |       Docs       | 문서를 수정한 경우                                                            | :memo::memo                                   |\n  |       Test       | 테스트 추가, 테스트 리팩토링\u003cbr\u003e(프로덕션 코드 변경 X)                        | :test_tube::test_tube                         |\n  |      Chore       | 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우\u003cbr\u003e(프로덕션 코드 변경 X) | :building_construction::building_construction |\n  |      Create      | 새파일을 생성한 경우                                                          | :newspaper::newspaper                         |\n  |      Rename      | 파일 혹은 폴더명을 수정하거나\u003cbr\u003e옮기는 작업만인 경우                         | :truck::truck                                 |\n  |      Remove      | 파일을 삭제하는 작업만 수행한 경우                                            | :fire::fire                                   |\n  |      Build       | 컴파일 후 코드, 새로운 패키지 업데이트                                        | :package::package                             |\n\n  - 그외 여러가지 Commit Message에 활용하는 Emoji들은 [Gitmoji](https://gitmoji.dev/)에서 확인 가능\n\n- ### Scope\n  - 추가적인 문맥 정보를 제공하기 위한 목적으로 괄호 안에 작성\n    \u003e Fix(database)\n\n## :mag:Example\n\n- ### 영어로 작성 시\n\n  ```\n  🐛 Fix(Filter): Fix data filtering method\n\n  * Fix bug that filtering method access parent variables.\n  * Delete unnecessary code.\n\n  Resoloves: #123, #1234\n  ```\n\n- ### 한글로 작성 시\n\n  ```\n  🐛 Fix(필터): 데이터 필터링 메소드 수정\n\n  * 필터링 메소드가 상위 변수에 접근하는 버그 수정\n  * 불필요한 코드 삭제\n\n  Resoloves: #123, #1234\n  ```\n\n## :books:Referenced\n\n- [Plus Ultra-'협업을 위한 git 커밋컨벤션 설정하기'](https://overcome-the-limits.tistory.com/)\n- [나를 남기다-'Gitmoji 사용하기'](https://treasurebear.tistory.com/70)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyeokjaelee%2Fgood-commit-message","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyeokjaelee%2Fgood-commit-message","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyeokjaelee%2Fgood-commit-message/lists"}