모바일 게임 SkyForce를 레퍼런스로 한 탄막 슈팅 게임
| 타입 이름 | 내용 |
|---|---|
| Feat | 새로운 기능에 대한 커밋 |
| Fix | 버그 수정에 대한 커밋 |
| Build | 빌드 관련 파일 수정 / 모듈 설치 또는 삭제에 대한 커밋 |
| Chore | 그 외 자잘한 수정에 대한 커밋 |
| Ci | ci 관련 설정 수정에 대한 커밋 |
| Docs | 문서 수정에 대한 커밋 |
| Style | 코드 스타일 혹은 포맷 등에 관한 커밋 |
| Refactor | 코드 리팩토링에 대한 커밋 |
| Test | 테스트 코드 수정에 대한 커밋 |
| Perf | 성능 개선에 대한 커밋 |
- 위 규칙을 따르도록 한다
- 커밋 메시지 제목(Summary)는 다음 구조로 작성한다
[타입(대문자로 시작)] 제목(영어 소문자, 명령형)
ex) [Feat] add player movement controller
- 설명(Description)은
-으로 시작하며, 한글로 작성한다. 직관적으로 볼 수 있게 어떤 방식으로 구현했는지 작성한다
-
Push는 수업이 끝나는 시간에 맞춰서 진행.- 다른 구성원의 기능이 필요한 상황에서는 바로
develop_test로Push한다. - 이후 문제가 없으면
develop으로merge, 구성원들은 해당develop을 본인의branch로merge한다
Push는 모두 같이 진행한다. 그리고Pull origin을 한다. 이 경우에는develop branch가 된다Push를 한 이후에는 팀원들에게Push했다고 알린다merge같은 경우에는 모든 구성원(참가자 전원)이 모여서 정한다- 수업 시간이 끝났을 때, 또는 임시로 전원이
Push를 해야하는 상황 이였을 때, 모든 구성원이Push한 이후Pull origin한다 Pull request하는 것은 2명의 동의가 필요하다
- 모든 작업은 반드시 이슈를 통해 시작
- 이슈 제목은 짧고 명확하게 작성 (
[태그] 동사 + 객체형식 권장) - 이슈 본문은 템플릿 기반 작성 (Bug / Feature / Docs 분리)
- 이슈를 작성할 때, Project 설정(중요도, 기간), Milestone 설정 하는 것을 잊지 않는다
- 기능 구현 시, 매일매일 일기 형식으로 이슈 기록을 남긴다. Sub-issue 로 하위에 편성한다
이슈 작성 예시)
제목 : [Feat] 플레이어 점프 로직 추가
본문 :
**구현하고자 하는 기능**
플레이어 클래스에 점프 기능을 추가하고자 합니다.
**기능을 구현하는 방법**
어떠한 방법으로 기능을 구현할지 설명
Player 오브젝트의 RigidBody를 받아 AddForce(ForceMode.Impulse)로 구현
**대체 기능**
X
**추가 설명**
플레이어가 점프하는 힘이 현재 속도에 비례하도록 구현 바람
| 컬럼 | 역할 |
|---|---|
| To Do | 해야할 일 (승인된 이슈) |
| In Progress | 작업 중: 담당자 지정 필수 |
| Done | 기능 구현 완료 |
| Review | Pull Request 완료, 리뷰 대기 |
| Merge | 머지 완료된 작업 |
main: 브랜치는 하루에 한 번, 모든 작업이 끝나고 테스트 후 병합한다develop: 기능 구현 브랜치. 일상적으로 쓰게 된다, Hotfix: 문제 발생 시 해결하기 위한 브랜치, Test: 테스트를 진행하기 위한 브랜치- 위 브랜치 들은 삭제하지 않는다
develop_test: 문제가 생겼을 때 사용하는 브랜치. 문제를 해결하면 develop으로 merge한다- 개개인 브랜치를 만들어서 기능 구현을 하고,
Push는develop쪽에 한다. 문제 발생 혹은 테스트 진행 시Test브랜치를 쓴다. develop_test는main에merge할 때 문제가 없는지 테스트 하기 위한 브렌치다.개인이름_test는develop에 정상적으로merge할 수 있는지 테스트하는 브렌치다.- 매일 저녁에 다같이 develop에 병합할 때는
[Merge] Daily merger {병합하는 브렌치} to {병합되는 곳 브렌치}로 작성한다
[본인 이름 이니셜]_[용도(카멜표기법 사용)]
예시)
JYL_PlayerAttack
PGH_MonsterBalancing
- 카멜 표기법으로 변수 선언.
- 대문자로 시작하는 단어로 클래스, 함수, 구조체 등 선언
_언더바를 쓰지 않는다(카멜표기법)bool과 같은 논리형변수의 경우 is, can, has 을 붙여서 쓴다
- 프로젝트 세팅 처럼 전역적인 변경은 한 사람만 변경해서 커밋 푸시 한다