Skip to content

[FE] Git 전략

서성원 edited this page Aug 17, 2024 · 7 revisions

깃 컨벤션

작업 순서

  1. 프로젝트 작업 생성
  2. 이슈 파기
  3. 브랜치 파기
  4. 작업
  5. pr 올리기
  6. 코드 리뷰
  7. 머지
  8. 브랜치 삭제는 직접
  9. 이슈 닫기
  10. 프로젝트 현황 변경

이슈

  • 이슈 설명
  • 할 일 목록
  • 참고 사항
  • 기한
  • 커밋 타입 (feature/이름/...)
## 💥이슈 설명
이슈 설명 적으시면 됩니다

## 📚할 일 목록
- [ ] 할 일 1
- [ ] 할 일 2

## 👀참고 사항
- 참고사항 작성

## ⌛기한
~

브랜치

  • [이름] 커밋타입/이슈#-설명 (이슈 제목 그대로)
  • 브랜치명은 영어로

브랜치 전략

Master(main) -> HotFix -> Release -> Develop -> Feature 5가지 브랜치로 구분하여 각각은 아래와 같은 기준으로 구분된다.

  • Master: 실제 운영되고 있는 서버에 적용되는 코드만을 관리하는 브랜치
  • HotFix: 실제 운영 중인 코드에서 버그가 발견되었을 경우 hotfix 브랜치에서 처리 후 Master로 합친다.
  • Release: 배포를 위해 최종적으로 버그 수정 등의 개발을 수행하는 브랜치로 성공 시 master로, 수정 필요 시 Develop으로 합친다.
  • Develop: 다음 출시 버전을 대비하여 개발 중인 코드를 관리하는 브랜치로 Release로 합친다.
  • Feature: 추가 기능을 개발하는 브랜치, Develop 보다 작은 단위로 추가 기능 개발 후 Develop으로 합친다.

코딩 시 유의사항

🔫 이슈에 있는 할 일만 하자!
🔫 필수로 추가될 기능이 있으면 코멘트 남기기

코드 리뷰

  • 코드의 통일성을 위해 approve는 모두
  • 따봉 날려주기
  • 디스코드와 깃허브 연동해서 바로 알림
설계: 코드가 잘 설계되었고, 시스템에 적합한가?
기능: 코드가 작성자의 의도대로 잘 동작하는가? 사용자에게 적합하게 동작하는가?
복잡성: 더 간단하게 만들 수 있나? 나중에 코드를 다른 개발자가 봤을 때 쉽게 이해하고 사용 가능한가?
(테스트: 정확하고 잘 설계된 자동화 테스트가 있는가?)
네이밍: 개발자가 변수, 클래스, 메소드 등에 명확한 이름을 선택 했는가?
주석: 주석이 명확하고 유용한가?
스타일: Code Convention을 따르고 있는가?
문서: 개발자가 관련 문서도 업데이트 했는가?

리뷰어 규칙

P1: 꼭 반영해 주세요 (Request changes)
P2: 적극적으로 고려해 주세요 (Request changes)
P3: 웬만하면 반영해 주세요 (Comment)
P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
P5: 그냥 사소한 의견입니다 (Approve)]

PR 규칙

PR 타입(하나 이상의 PR 타입을 선택해주세요)
 기능 추가 ✨
 기능 삭제 🔥
 버그 수정 🐛
 코드 형태 개선 🎨
 의존성, 환경 변수, 빌드 관련 코드 업데이트 🔨

변경 사항

ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다.

이슈 사항

ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브 데모가 가능하도록 샘플API를 첨부할 수도 있습니다.

To reviewer

ex) 여기에서 이 부분 잘 모르겠는데 한번 봐주실 수 있나요?