-
Notifications
You must be signed in to change notification settings - Fork 0
Github Strategies
SeungHyun Hong edited this page Nov 23, 2023
·
4 revisions
- 상위 폴더를 각각 분야별로 나눕니다.
- gitignore를 통합으로 관리합니다.
.
├── 📄 README.md
├── 📄 .gitignore
├── 📂 backend
│ └── 📄 ...
└── 📂 iOS
└── 📄 ...
-
git flow를 사용합니다.
-
main
: 배포 목적으로 사용하는 브랜치입니다. -
release
: 배포까지 필요한 기능을 완성한 뒤 안정화 작업을 거치는 브랜치입니다. -
hotfixes
: critical한 버그가 발생한 경우 사용하는 브랜치입니다. main에서 분리되는 특징이 있습니다. -
develop
: 개발 브랜치입니다. 모든 기능들이 한데 아울러 이 브랜치에 merge됩니다. -
feature
: 기능 브랜치입니다. develop으로부터 분리하여 기능을 구현한 뒤 merge합니다.
-
-
develop
에서feature
를 분리할 때feature/역할명/*
으로 작성합니다.- e.g.
feature/ios/*
,feature/be/*
- e.g.
-
feature
를 분리할 때 Notion Task 번호로 브랜치를 작성합니다.- e.g.
feature/ios/GWL-2
,feature/be/GWL-124
- e.g.
-
squash merge
를 사용합니다. - approve한 사람이 최소 2명 이상이어야 merge 가능합니다.
- 커밋명은 아래와 같이 작성합니다.
<type>: Implement A from B
- type은 아래와 같습니다.
Type Name | Context |
---|---|
add | 파일 추가나 폴더추가, 간단한 코드 추가 |
feat | 새로운 기능에 대한 커밋 |
fix | 버그 수정에 대한 커밋 |
build | 빌드 관련 파일 수정 / 모듈 설치 또는 삭제에 대한 커밋 |
chore | 그 외 자잘한 수정에 대한 커밋 |
ci | ci관련 설정 수정에 대한 커밋 |
docs | 문서(DocC 포함) 수정에 대한 커밋 |
rename | 이름변경에 대한 커밋 |
refactor | 코드 리팩토링에 대한 커밋 |
test | 테스트 코드 수정에 대한 커밋 |
perf | 성능 개선에 대한 커밋 |
move | 디렉토리 변경 또는 파일 이동 (수정사항 ❌) |
delete | 파일, 폴더 삭제 |