Skip to content

Git Convention

Bori edited this page Apr 25, 2023 · 2 revisions

Commit Message Convention

Commit Message Template

Gitmoji [close] #issue_number - "commit message"

Body(optional)

Commit Message Title

  • Gitmoji를 이용한 가독성 높은 커밋 메시지를 작성합니다.
아이콘 코드 설명 원문
🎨 :art: 코드의 구조/형태 개선 Improve structure / format of the code.
⚡️ :zap: 성능 개선 Improve performance.
🔥 :fire: 코드/파일 삭제 Remove code or files.
🐛 :bug: 버그 수정 Fix a bug.
🚑 :ambulance: 긴급 수정 Critical hotfix.
:sparkles: 새 기능 Introduce new features.
📝 :memo: 문서 추가/변경 Add or update documentation.
💄 :lipstick: UI와 스타일 파일 추가/변경 Add or update the UI and style files.
🎉 :tada: 프로젝트 시작 Begin a project.
:white_check_mark: 테스트 추가/변경 Add or update tests.
🔒 :lock: 보안 이슈 수정 Fix security issues.
🔖 :bookmark: 릴리즈/버전 태그 Release / Version tags.
💚 :green_heart: CI 빌드 수정 Fix CI Build.
👷 :construction_worker: CI 빌드 시스템 추가/변경 Add or update CI build system.
♻️ :recycle: 코드 리팩토링 Refactor code.
:heavy_plus_sign: 의존성 추가 Add a dependency.
:heavy_minus_sign: 의존성 제거 Remove a dependency.
🔧 :wrench: 구성 파일 추가/변경 Add or update configuration files.
🔨 :hammer: 개발 스크립트 추가/변경 Add or update development scripts.
📦 :package: 컴파일된 파일 추가/변경 Add or update compiled files or packages.
👽 :alien: 외부 API 변화로 인한 변경 Update code due to external API changes.
🚚 :truck: 리소스 이동 또는 이름 변경 Move or rename resources (e.g.: files paths routes).
📄 :page_facing_up: 라이센스 추가/변경 Add or update license.
🍱 :bento: 에셋 추가/변경 Add or update assets.
♿️ :wheelchair: 웹접근성 향상 Improve accessibility.
💡 :bulb: 주석 추가/변경 Add or update comments in source code.
🗃 :card_file_box: 데이버베이스 관련 수정 Perform database related changes.
🚸 :children_crossing: UX 향상 Improve user experience / usability.
📱 :iphone: 반응형 디자인 적용 Work on responsive design.
🤡 :clown_face: 목 데이터 관련 Mock things.
🙈 :see_no_evil: .gitignore 추가/변경 Add or update a .gitignore file.
🔍️ :mag: SEO 향상 Improve SEO.
🏷️ :label: 타입 추가/변경 Add or update types.
🥅 :goal_net: 에러 핸들링 Catch errors.
🩹 :adhesive_bandage: 간단한 수정 Simple fix for a non-critical issue.
🧑‍💻 :technologist: 개발자 환경 향상 Improve developer experience.
🦺 :safety_vest: 유효성 검사 관련 코드 추가/변경 Add or update code related to validation.
  • 이슈 번호를 작성합니다.
  • 커밋 메시지를 간결하게 작성합니다.

Commit Message Body(optional)

  • 작업에 대한 상세한 설명을 작성합니다.

Issue Convention

Issue Template

## 💬 작업 설명

- 작업에 대한 설명을 입력해주세요.

<br />

## ✅ 작업 목록

- [ ] 작업1
- [ ] 작업2
- [ ] 작업3

Pull Request Convention

Pull Request Title

  • 이슈 제목과 동일하게 작성합니다.

Pull Request Template

## 🔗 연관된 이슈

- close #issue_number

<br />

## 🗒 작업 목록

- [x] 기능 구현

<br />

## 🧐 PR Point

- 어떤 이유로 코드를 변경했나요?
- 리뷰어가 집중해야하는 포인트가 어디인가요?
- 해당 작업에서 주의 해야할 부분이 있나요?

<br />

## 💥 Trouble Shooting
- 해당 작업을 하던 중 발생했던 문제에 대해 작성해주세요.

<br />

## 📸 스크린샷 / 피그마 링크

- 내용을 입력해주세요.

<br />

## 📚 참고

- 참고한 내용 또는 링크를 입력해주세요.

<br />

## ✅ PR Submit 전 체크리스트

- [] Merge 하는 브랜치는 `main` 브랜치가 아닙니다. 
- [] 코드에 크리티컬한 `error` 또는 `warning`이 존재하지 않습니다.
- [] 불필요한 `console`이 존재하지 않습니다.

Branch Strategy

Git Flow

  • 브랜치는 크게 main, dev, feature, hotfix로 구분합니다.
  • main 브랜치로부터 dev 브랜치를 분기합니다.
  • 기능 개발이 있을 경우 dev 브랜치에서 feature를 분기합니다.

Branch Role

  • main : 최종 배포되는 기준 브랜치.
  • dev: 다음 버전을 개발을 위한 브랜치. 완료되면 main 브랜치로 merge
  • feature: 하나의 기능을 개발하기 위한 브랜치. 완료되면 dev 브랜치로 merge
  • hotfix: 배포된 버전에 발생한 버그를 긴급 수정하는 브랜치. 완료되면 main 브랜치로 merge(상황에 따라 dev 브랜치로 merge)

Branch Naming Convention

// 기능 개발
feature/issue_number/keyword

// 버그 긴급 수정
hotfix/issue_number/keyword