Contributor๋ก์ ๋ค์๊ณผ ๊ฐ์ ์ง์นจ์ ์ค์ํด์ฃผ์ธ์.
๋ง์ฝ ๋น์ ์ด ์์ด๋์ด๋ ๋ฒ๊ทธ๋ฅผ ์๊ณ ์๋ค๋ฉด, ๋ค์ ์ฌํญ์ ๋ฐ๋ผ ์๋ ค์ฃผ์ธ์:
- Issue๋ฅผ ์์ฑํฉ๋๋ค.
- Assignee๋ฅผ ์ง์ ํฉ๋๋ค.
- ๊ด๋ จ์๋ Label๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ํ ํ๋ฆฟ ์ปจ๋ฒค์ ์ ์ค์ํ์ฌ ์ ์ถํด์ฃผ์ธ์.
๋น์ ์ Pull Request๋ฅผ ์ ์ถํ๊ธฐ ์ ์ ๋ค์ ์ฌํญ์ ๋ฐ๋ผ์ฃผ์ธ์:
-
์ด๋ฏธ ์กด์ฌํ๋ ํ๋์ Issue๋ฅผ ํด๊ฒฐํ ์ ์๋ ๊ฒ์ธ์ง ํ์ธํด์ฃผ์ธ์.
-
ํด๊ฒฐํ ์ ์์ผ๋ฉด git-flow ์ ๋ต ๋ธ๋์น๋ฅผ ์ด์ฉํฉ๋๋ค.
2-1. git-flow ์ ๋ต
master : ๊ธฐ์ค์ด ๋๋ ๋ธ๋์น๋ก ์ ํ์ ๋ฐฐํฌํ๋ ๋ธ๋์น
develop : ๊ฐ๋ฐ ๋ธ๋์น๋ก ๊ฐ๋ฐ์๋ค์ด ์ด ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์์ ํ ๊ธฐ๋ฅ๋ค์ Merge
feature : ๋จ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น๋ก ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋๋ฉด develop ๋ธ๋์น์ Merge
release : ๋ฐฐํฌ๋ฅผ ์ํด master ๋ธ๋์น๋ก ๋ณด๋ด๊ธฐ ์ ์ ๋จผ์ QA(ํ์ง๊ฒ์ฌ)๋ฅผ ํ๊ธฐ์ํ ๋ธ๋์น
hotfix : master ๋ธ๋์น๋ก ๋ฐฐํฌ๋ฅผ ํ๋๋ฐ ๋ฒ๊ทธ๊ฐ ์๊ฒผ์ ๋ ๊ธด๊ธ ์์ ํ๋ ๋ธ๋์น
-
์ฝ๋๋ฅผ ์์ฑํ์ฌ ํด๋น Issue๋ฅผ ํด๊ฒฐํด์ฃผ์ธ์.
-
Git Commit Message Convention ๊ท์น์ ๋ฐ๋ฅด๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋ฐํด์ฃผ์ธ์.
-
ํด๋น ๋ธ๋์น์ pushํด์ฃผ์ธ์.
-
Github์์ ํ ํ๋ฆฟ ์ปจ๋ฒค์ ์ ์ค์ํ์ฌ Pull Request๋ฅผ ์ ์ถํด์ฃผ์ธ์.
-
๋ฆฌ๋ทฐ ์ฐ์ ์์ ํ๋จ์ ๋๋
D-n ๋ฃฐ
์ ์ฌ์ฉํ์ฌ ํด๋น label์ ๋ถ์ฌ์ฃผ์ธ์.7-1. D-n๋ฃฐ
-
D-0
(ASAP)๊ธด๊ธํ ์์ ์ฌํญ์ผ๋ก ๋ฐ๋ก ๋ฆฌ๋ทฐํด ์ฃผ์ธ์. ์ฑ์ ์ค๋ฅ๋ก ์ธํด ์ฅ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋, ๋น๋๊ฐ ๋์ง ์๋ ๋ฑ ๊ธด๊ธ ์ด์๊ฐ ๋ฐ์ํ ๋ ์ฌ์ฉํฉ๋๋ค.
-
D-N
(Within N days)N์ผ ์ด๋ด์ ๋ฆฌ๋ทฐํด ์ฃผ์ธ์.
์ผ๋ฐ์ ์ผ๋ก D-2 ํ๊ทธ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ฉฐ, ์ค์๋๊ฐ ๋ฎ๊ฑฐ๋ ์ผ์ ์ด ์ฌ์ ์๋ ๊ฒฝ์ฐ D-3 ~ D-5 ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
-
PR์ reivewer๋ผ๋ฉด ๋ค์ ์ฌํญ์ ๋ฐ๋ผ์ฃผ์ธ์:
-
์ฝ๋ ๋ฆฌ๋ทฐ๋ ๋ฑ ํฌ์๋ฌ๋์ Pn๋ฃฐ์ ๋ฐ๋ฆ ๋๋ค.
1-1. Pn๋ฃฐ
-
P1
: ๊ผญ ๋ฐ์ํด์ฃผ์ธ์ (Request changes)๋ฆฌ๋ทฐ์ด๋ PR์ ๋ด์ฉ์ด ์๋น์ค์ ์ค๋ํ ์ค๋ฅ๋ฅผ ๋ฐ์ํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ ์ฌํ๊ณ ์๋ ๋ฑ ์ค๋ํ ์ฝ๋ ์์ ์ด ๋ฐ๋์ ํ์ํ๋ค๊ณ ํ๋จ๋๋ ๊ฒฝ์ฐ, P1 ํ๊ทธ๋ฅผ ํตํด ๋ฆฌ๋ทฐ ์์ฒญ์์๊ฒ ์์ ์ ์์ฒญํฉ๋๋ค. ๋ฆฌ๋ทฐ ์์ฒญ์๋ p1 ํ๊ทธ์ ๋ํด ๋ฆฌ๋ทฐ์ด์ ์์ฒญ์ ๋ฐ์ํ๊ฑฐ๋, ๋ฐ์ํ ์ ์๋ ํฉ๋ฆฌ์ ์ธ ์๊ฒฌ์ ํตํด ๋ฆฌ๋ทฐ์ด๋ฅผ ์ค๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
-
P2
: ์ ๊ทน์ ์ผ๋ก ๊ณ ๋ คํด์ฃผ์ธ์ (Request changes)์์ฑ์๋ P2์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ์ ํฉํ ์๊ฒฌ์ ๋ค์ด ํ ๋ก ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
-
P3
: ์ฌ๋งํ๋ฉด ๋ฐ์ํด ์ฃผ์ธ์ (Comment)์์ฑ์๋ P3์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ๋ฐ์ํ ์ ์๋ ์ด์ ๋ฅผ ๋ค์ด ์ค๋ช ํ๊ฑฐ๋ ๋ค์์ ๋ฐ์ํ ๊ณํ์ ๋ช ์์ ์ผ๋ก(JIRA ํฐ์ผ ๋ฑ์ผ๋ก) ํํํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. Request changes ๊ฐ ์๋ Comment ์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
-
P4
: ๋ฐ์ํด๋ ์ข๊ณ ๋์ด๊ฐ๋ ์ข์ต๋๋ค (Approve)์์ฑ์๋ P4์ ๋ํด์๋ ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค. ํด๋น ์๊ฒฌ์ ๋ฐ์ํ๋ ๊ฒ ์ข์์ง ๊ณ ๋ฏผํด ๋ณด๋ ์ ๋๋ฉด ์ถฉ๋ถํฉ๋๋ค.
-
P5
: ๊ทธ๋ฅ ์ฌ์ํ ์๊ฒฌ์ ๋๋ค (Approve)์์ฑ์๋ P5์ ๋ํด ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค.
-
-
์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ์ฌ Comment / Approve / Request changes ๋ฅผ ๋จ๊น๋๋ค.
-
ํด๋น PR reviewer๊ฐ Approve๋ฅผ ํ๋ฉด ๋จธ์ง๋ฅผ ํ ์ ์์ต๋๋ค.
<์ด๋ชจ์ง> <ํ์
>: <์ ๋ชฉ>
โ โ
โ โ
โ โ
โ โโโซธ ํ๊ธ ๋ช
๋ น๋ฌธ์ผ๋ก ์์ฑํด์ฃผ์ธ์. ๋์ ๋ง์นจํ๋ฅผ ๋นผ์ฃผ์ธ์.
โ
โโโซธ Commit Type
๋ค์ ์ค ํ๋์ฌ์ผ ํฉ๋๋ค.
โจ [feat] : ๊ธฐ๋ฅ ์ถ๊ฐ
๐ [fix] : ๋ฒ๊ทธ ์์
โป๏ธ [refactor]: ๋ฆฌํฉํ ๋ง (ํจ์ ๋ถ๋ฆฌ/์ด๋ฆ์์ ๋ฑ ์คํ ๊ฒฐ๊ณผ์ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์กฐ์ )
๐ [style] : ํ์ผ ํ์/๋ค์ด๋ฐ, ํด๋ ๊ตฌ์กฐ/๋ค์ด๋ฐ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์
๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์
๐ [style] : ์คํ์ผ (UI ์คํ์ผ ๋ณ๊ฒฝ) ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์
๐ [docs] : ๋ฌธ์ (README ๋ฑ ๋ฌธ์ ์ถ๊ฐ/์์ /์ญ์ )
โ
[test] : ํ
์คํธ (ํ
์คํธ ์ฝ๋ ์ถ๊ฐ/์์ /์ญ์ : ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์)
๐ง [chore] : ๊ธฐํ ์ฌ์ํ ๋ณ๊ฒฝ์ฌํญ (๋น๋ ์คํฌ๋ฆฝํธ ์์ ๋ฑ)
๐ก [comment] : ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ
๐ฅ [remove] : ํ์ผ, ํด๋ ์ญ์ ์์
๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค.
- ์ ๋ชฉ์ ๋ช ๋ น๋ฌธ ํ๊ธ๋ก ์์ฑํฉ๋๋ค.
- ๋์๋ ๋ง์นจํ (.)๊ฐ ์์ต๋๋ค.
์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์ง ๋ณด๋ค ๋ฌด์์ ๋ณ๊ฒฝํ๋์ง ๋๋ ์ ๋ณ๊ฒฝํ๋์ง๋ฅผ ์ต๋ํ ์์ธํ ์ค๋ช ํฉ๋๋ค.
- ํ๊ธ๋ก ํ์ฌ ์์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ํ ์ค ๋น 72์ ๋ด๋ก ์์ฑํฉ๋๋ค.
- ์ฌ๋ฌ ์ค์ ๋ฉ์์ง๋ฅผ ์์ฑํ ๋ "-"๋ก ๊ตฌ๋ถํฉ๋๋ค.
ํ์ฌ ์ปค๋ฐ๊ณผ ๊ด๋ จ๋ ์ด์ ๋ฒํธ๋ก ์์ฑํฉ๋๋ค.
- ex)
#์ด์๋ฒํธ
- Create a merge commit type์ ์ฌ์ฉํฉ๋๋ค.