Conventions - EnvEduPNU/EnvEdu_Server GitHub Wiki
Branches
main
: ์ค์ ๋ก ์๋ํ๊ณ ์๋ ๋ฒ์ , CI/CD ๋์ ๋ธ๋์น
develop
: ๊ฐ๋ฐ ๋จ๊ณ์์ ๊ฐ feature ๋ธ๋์น๊ฐ ํฉ์ณ์ง๋ ๋ธ๋์น, ๊ฐ feature์์ ๋ ๋ฆฐ PR์ ์ต์ ํ ๋ช
์ ๋ฆฌ๋ทฐ ํ merge ๋ ์ ์์
feature
: ๊ฐ ๊ธฐ๋ฅ ๋ณ๋ก ์์ฑํ๋ ๋ธ๋์น, develop์ merge ํ ์ญ์ , ex. feature/#{issue number}/{feature name}/{collaborator name}
Flow
- ๊ฐ collaborator๋ fork๋ก ๋ถ๊ธฐํด ์์
- ๋งค์ฃผ ๊ธ์์ผ develop ๋ธ๋์น๋ฅผ main ๋ธ๋์น๋ก merge, 1์ฃผ์ผ ๋์ ์์ ์ด ์งํํ ๊ฐ๋ฐ ์ผ์ backlog ์์ฑ ๋ฐ ๊ฐ backlog ์ด์์ ํด๋นํ๋ ๋ธ๋์น ์์ฑ
- ๋งค์ผ ์คํ 9์์ collaborator๋ feature ๋ธ๋์น์์ develop ๋ธ๋์น๋ก ์ ์กํ PR์ ๋ฆฌ๋ทฐํ๊ณ ์น์ธํ๋ scrum ์งํ
- develop ๋ธ๋์น๊ฐ ์
๋ฐ์ดํธ ๋๋ฉด fetch-rebase ์ด์ฉํด local ์ ์ฅ์ ์
๋ฐ์ดํธ
- ์ฐธ๊ณ : ์ฐธ๊ณ
Commit
- ex. #{issue number}-{type}/{commit message}
- type
feat
: ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒฝ์ฐ
style
: ๋ณ์ ์ด๋ฆ ๋ณ๊ฒฝ, ์ค ๊ฐ๊ฒฉ ๋ณ๊ฒฝ ๋ฑ์ ์ฝ๋์ ์คํ์ผ์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ
fix
: ๋ฒ๊ทธ๋ฅผ ์์ ํ ๊ฒฝ์ฐ
refactor
: ๋ฆฌํฉํ ๋ง์ ์งํํ ๊ฒฝ์ฐ
test
: ํ
์คํธ ์ฝ๋ ์์ฑ ๋ฐ ํ
์คํธ ์ฝ๋๋ฅผ ์์ ํ ๊ฒฝ์ฐ
rm
: ํ์ผ์ ์ ๊ฑฐํ ๊ฒฝ์ฐ
mv
: ํ์ผ์ ์์น๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ
env
: ํ๋ก์ ํธ ํ๊ฒฝ ์ค์ ๊ณผ ๊ด๋ จ๋ ๊ฒฝ์ฐ
doc
: ๋ฌธ์์ ๊ด๋ จ๋ ๋ณ๊ฒฝ
add
: ์ฝ๋ ๋๋ ํ์ผ์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ
rn
: ํด๋์ค, ํ์ผ ๋ฑ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ
PR
feature
-> develop
- title: feature ๋ธ๋์น ์ด๋ฆ
- content:
- ๊ตฌํ ๋ฐ ์์ ํ ๊ธฐ๋ฅ ์์ฝ
- ์์
ํ๋ฉฐ ๋ฐ์ํ๋ ๋ฌธ์
- ๋ฌธ์ ์ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ
develop
-> main
- title: ํ์ฌ ๋ ์ง(yyyy/mm/dd)
- content: ์ถ๊ฐ ๋ฐ ์์ ํ ๊ธฐ๋ฅ - {๋ด๋น์ username}
- ํธ์์ local -> remote -> upstream ๊ณผ์ ์ ๊ฑฐ์น์ง ์๊ณ local์์ ๋ฐ๋ก git push upstream ${branch_name} ์ผ๋ก ๋ฐ๋ก upstream์ผ๋ก push
- ํด๋น ๋ช
๋ น์ด ์ํ ์ upstream์ ๋์ผํ ์ด๋ฆ์ ๋ธ๋์น ์์ฑ๋จ
- ํด๋น ๋ฐฉ๋ฒ์ ํตํด upstream github์ ํ์๋๋ ๋ถํ์ํ commit์ ์์จ ์ ์์
Guide
- EnvEduPNU์์ ๋ณธ์ธ github์ผ๋ก fork
- ๋ณธ์ธ PC์์ git clone https://github.com/${๋ณธ์ธ ๋ ํฌ์งํ ๋ฆฌ}/${ํ๋ก์ ํธ}.git ex. git clone https://github.com/201724554/EnvEdu_Server.git
- ๋ณธ์ธ PC์์ git add remote -t develop upstream https://github.com/EnvEduPNU/${ํ๋ก์ ํธ}.git
- ์์
์, EnvEduPNU์ ํ๋ก์ ํธ ๋ ํฌ์งํ ๋ฆฌ์ ์ด์ ์์ฑ
- ๋ก์ปฌ์์ main ๋ธ๋์น์ ์์นํ ์ํ๋ก git checkout -b feature/${์์ฑํ ์ด์ ๋ฒํธ}/${์์
์ ๋ํ ๊ฐ๋จํ ๋ฌ์ฌ(CamelCase)/${๋ณธ์ธ ๊นํ๋ธ ์์ด๋} ์คํํด ๋ธ๋์น ์์ฑ
- ์์
, ์ปค๋ฐ ๋จ์ ํฌ์ง ์๊ฒ
- git push upstream ${์์ฑํ ๋ธ๋์น ์ด๋ฆ}
- PR ๋ ๋ฆฌ๊ธฐ(#PR ์ฐธ๊ณ )
- ๋ฆฌ๋ทฐ ํ develop ๋ธ๋์น๋ก merge
- merge ์๋ฃ ๋๋ฉด ๋ก์ปฌ์์ git switch main ์คํํด main ๋ธ๋์น๋ก ๋ณต๊ท
- git fetch upstream develop ์คํํด develop ๋ธ๋์น์ merge๋ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ
- git rebase upstream/develop์ผ๋ก ๋ก์ปฌ์ develop ๋ธ๋์น์ upstream develop ๋๊ธฐํ
- git branch -D ${์์ฑํ ๋ธ๋์น ์ด๋ฆ}์ผ๋ก ์์
๋ธ๋์น ์ ๊ฑฐ
- 4๋ก ์ด๋ํด ๋ฐ๋ณต