Git Convention - dnd-side-project/dnd-8th-1-frontend GitHub Wiki
- Issue ๋ช
์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
[feat] - Issue ๋ช
[fix] - Issue ๋ช
- Issue ์ฌ์ฉ ์์
-
๊ฐ ๊ธฐ๋ฅ ๋ธ๋์น์ ๋ํ PR์ ์ ๋ชฉ์
๊น๋ชจ์ง prefix : ๋ธ๋์น๋ฅผ ์ด๊ดํ๋ ๋ด์ฉ
์ผ๋ก ํ๋ค.- ์์ :
๐ docs: PR ํ ํ๋ฆฟ ๊ฐ์ด๋ ๋ผ์ธ ์ถ๊ฐ
- ์์ :
-
PR ์ฒดํฌ ๋ฆฌ์คํธ
- Reviewer ์ง์
- Assignees ์ง์
- Label ๋ถ์ด๊ธฐ
- Projects ์ง์
- ๋ฆฌ๋ทฐ์ด์ Approve ๊ฐ 1๊ฐ ์ด์์ผ ๋, ๋ธ๋์น๋ฅผ ๋จธ์งํ ์ ์๋ค.
- ์ฝ๋ ๋ฆฌ๋ทฐ๋
ํ์์ ์ผ๋ก ์ฐธ์ฌ
ํ๋, ๋ง์ฝ ๋ฆฌ๋ทฐ ์์ด ์ดํ ๊ฒฝ๊ณผ ์์๋ ๋จธ์งํ๋ค. -
์ฝ๋ ๋ฆฌ๋ทฐ์ ์ฐ์ ์์์ ๋ฐ๋ผ ๋ผ๋ฒจ์ ์ฌ์ฉํ๋ค.
- ex)
์ฐ์ ์์: ๊ธํจ
,์ฐ์ ์์ : ๋ณดํต
,์ฐ์ ์์ : ๋ฎ์
- ex)
- ์ํต์ ์ํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ์ ๋ค์๊ณผ ๊ฐ์ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ๋ค. (์ฐธ๊ณ ์๋ฃ - ์ฝ๋ ๋ฆฌ๋ทฐ in ๋ฑ ํฌ์๋ฌ๋ ๊ฐ๋ฐ ๋ฌธํ)
P1: ๊ผญ ๋ฐ์ํด์ฃผ์ธ์ (Request changes)
๋ฆฌ๋ทฐ์ด๋ PR์ ๋ด์ฉ์ด ์๋น์ค์ ์ค๋ํ ์ค๋ฅ๋ฅผ ๋ฐ์ํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ ์ฌํ๊ณ ์๋ ๋ฑ ์ค๋ํ ์ฝ๋ ์์ ์ด ๋ฐ๋์ ํ์ํ๋ค๊ณ ํ๋จ๋๋ ๊ฒฝ์ฐ, P1 ํ๊ทธ๋ฅผ ํตํด ๋ฆฌ๋ทฐ ์์ฒญ์์๊ฒ ์์ ์ ์์ฒญํฉ๋๋ค. ๋ฆฌ๋ทฐ ์์ฒญ์๋ p1 ํ๊ทธ์ ๋ํด ๋ฆฌ๋ทฐ์ด์ ์์ฒญ์ ๋ฐ์ํ๊ฑฐ๋, ๋ฐ์ํ ์ ์๋ ํฉ๋ฆฌ์ ์ธ ์๊ฒฌ์ ํตํด ๋ฆฌ๋ทฐ์ด๋ฅผ ์ค๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
P2: ์ ๊ทน์ ์ผ๋ก ๊ณ ๋ คํด์ฃผ์ธ์ (Request changes)
์์ฑ์๋ P2์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ์ ํฉํ ์๊ฒฌ์ ๋ค์ด ํ ๋ก ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
P3: ์ฌ๋งํ๋ฉด ๋ฐ์ํด ์ฃผ์ธ์ (Comment)
์์ฑ์๋ P3์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ๋ฐ์ํ ์ ์๋ ์ด์ ๋ฅผ ๋ค์ด ์ค๋ช ํ๊ฑฐ๋ ๋ค์์ ๋ฐ์ํ ๊ณํ์ ๋ช ์์ ์ผ๋ก(JIRA ํฐ์ผ ๋ฑ์ผ๋ก) ํํํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. Request changes ๊ฐ ์๋ Comment ์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
P4: ๋ฐ์ํด๋ ์ข๊ณ ๋์ด๊ฐ๋ ์ข์ต๋๋ค (Approve)
์์ฑ์๋ P4์ ๋ํด์๋ ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค. ํด๋น ์๊ฒฌ์ ๋ฐ์ํ๋ ๊ฒ ์ข์์ง ๊ณ ๋ฏผํด ๋ณด๋ ์ ๋๋ฉด ์ถฉ๋ถํฉ๋๋ค.
P5: ๊ทธ๋ฅ ์ฌ์ํ ์๊ฒฌ์ ๋๋ค (Approve)
์์ฑ์๋ P5์ ๋ํด ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค.
- Commit ์ ๊ฐ๊ธ์ ์ด๋ฉด ๊ธฐ๋ฅ ๋น ํ๋์ ์ปค๋ฐ์ ์ฌ์ฉํ๋ค.
- Commit ๋ฉ์์ง๋ ๋ฐ๋์ ํ๊ธ๋ก ์์ฑํ๋ฉฐ, ๋๋ฌด ๊ธธ์ด์ง์ง ์๋๋ก ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ค.
- Commit ๋ฉ์์ง์ ๋ฌธ์ฅํ์ ์ฌ์ฉํ์ง ์๋๋ค.
- Commit ๋ฉ์์ง์ ๋ง์นจํ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
-
husky
๋ฅผ ์ด์ฉํ pre-commit ์ ์ฌ์ฉํ๋ค. -
main
๊ณผdefault
๋ธ๋์น์force-push
๋ฅผ ๊ธ์งํ๋ค. (๋ ํฌ ์ค์ )
prefix | ์ค๋ช |
---|---|
โจ feat | ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒฝ์ฐ |
๐ fix | ๋ฒ๊ทธ๋ฅผ ๊ณ ์น ๊ฒฝ์ฐ |
๐ design | CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
๐ hotfix | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐ |
๐จ style | ์ฝ๋ ํฌ๋งท ๋ณ๊ฒฝ, ์ธ๋ฏธ ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ ์ด ์๋ ๊ฒฝ์ฐ |
โป๏ธ refactor | ํ๋ก๋์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง |
๐ก comment | ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
๐ docs | ๋ฌธ์๋ฅผ ์์ ํ ๊ฒฝ์ฐ |
โ test | ํ ์คํธ ์ถ๊ฐ, ํ ์คํธ ๋ฆฌํฉํฐ๋ง (ํ๋ก๋์ ์ฝ๋ ๋ณ๊ฒฝ X) |
๐ง env | ํ๋ก์ ํธ ํ๊ฒฝ ์ค์ |
๐คก mock | msw ๊ด๋ จ |
๐ init | ํ๋ก์ ํธ ์ฒซ ์ค์ |
๐ rename | ํ์ผ ํน์ ํด๋ ๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐ |
๐ฅ remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ |
๐ฆ chore | ๋น๋ ํ์คํธ ์ ๋ฐ์ดํธ, ํจํค์ง ๋งค๋์ ์ค์ (ํ๋ก๋์ ์ฝ๋ ๋ณ๊ฒฝ X) |
๐ฑ asset | asset ๊ด๋ จ ํ์ผ(favicon, font) ์ ๋ฐ์ดํธ ์์ ๋ง ์ํํ์ ๊ฒฝ์ฐ |
์ฐ๋ฆฌ๋ git flow ๋ฐ github flow์ ๊ฐ์ ์ ํํ ๋ ๋ฐฉ์์ ์ฑํํ์ง ์์๋ค. ํด๋น ์ ๋ต์ ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ์ ๊ท๋ชจ์ ๋นํด ๋ณต์ก์ฑ์ด ํฐ ํธ์ด๊ธฐ ๋๋ฌธ์ ์งง์ ๊ฐ๋ฐ์๊ฐ ์์, ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ์ฌ ๋ธ๋์น ์ ๋ต์ ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ฉํ๊ธฐ๋ก ํฉ์ํ์๋ค.
๋ฐ๋ผ์ ์๋์ ์ต์ํ์ ๋ธ๋์น ์ ๋ต์ ์ฑํํ์๋ค.
-
develop
: ๊ฐ๋ฐ์ฉ ๋ธ๋์น - ๊ธฐ๋ณธ์ ์ผ๋ก commit prefix ์ ๋ฐ๋ผ ๊ธฐ๋ฅ์ ๋๋๊ณ ์ด์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ branch๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ค.
- ์์ :
feature/{issue-number}
: ๊ธฐ๋ฅ ๊ตฌํ branch,fix/{issue-number}
: ๋ฒ๊ทธ ์์ branch
- ์์ :
- ๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ
develop
๋ธ๋์น๋ก ๋จธ์งํ ๋๋squash and merge
๋ฅผ ์ฌ์ฉํ๋ค. - ๊ฐ๋ฐ์ด ์๋ฃ๋๊ณ ,
develop
๋ธ๋์น๋ฅผmain
๋ธ๋์น๋ก ๋จธ์งํ ๋๋rebase and merge
๋ฅผ ์ฌ์ฉํ๋ค. - ์ฐธ๊ณ ์๋ฃ : GitHub์ Merge, Squash and Merge, Rebase and Merge ์ ํํ ์ดํดํ๊ธฐ
- Issue ๋ช
์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
[feat] - Issue ๋ช
[fix] - Issue ๋ช
Issue ์ฌ์ฉ ์์
-
๊ฐ ๊ธฐ๋ฅ ๋ธ๋์น์ ๋ํ PR์ ์ ๋ชฉ์
๊น๋ชจ์ง prefix : ๋ธ๋์น๋ฅผ ์ด๊ดํ๋ ๋ด์ฉ
์ผ๋ก ํ๋ค.- ์์ :
๐ docs: PR ํ ํ๋ฆฟ ๊ฐ์ด๋ ๋ผ์ธ ์ถ๊ฐ
- ์์ :
-
PR ์ฒดํฌ ๋ฆฌ์คํธ
- Reviewer ์ง์
- Assignees ์ง์
- Label ๋ถ์ด๊ธฐ
- Projects ์ง์
- ๋ฆฌ๋ทฐ์ด์ Approve ๊ฐ 1๊ฐ ์ด์์ผ ๋, ๋ธ๋์น๋ฅผ ๋จธ์งํ ์ ์๋ค.
- ์ฝ๋ ๋ฆฌ๋ทฐ๋
ํ์์ ์ผ๋ก ์ฐธ์ฌ
ํ๋, ๋ง์ฝ ๋ฆฌ๋ทฐ ์์ด ์ดํ ๊ฒฝ๊ณผ ์์๋ ๋จธ์งํ๋ค. -
์ฝ๋ ๋ฆฌ๋ทฐ์ ์ฐ์ ์์์ ๋ฐ๋ผ ๋ผ๋ฒจ์ ์ฌ์ฉํ๋ค.
- ex)
์ฐ์ ์์: ๊ธํจ
,์ฐ์ ์์ : ๋ณดํต
,์ฐ์ ์์ : ๋ฎ์
- ex)
- ์ํต์ ์ํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ์ ๋ค์๊ณผ ๊ฐ์ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ๋ค. (์ฐธ๊ณ ์๋ฃ - [์ฝ๋ ๋ฆฌ๋ทฐ in ๋ฑ ํฌ์๋ฌ๋ ๊ฐ๋ฐ ๋ฌธํ](https://blog.banksalad.com/tech/banksalad-code-review-culture/))
P1: ๊ผญ ๋ฐ์ํด์ฃผ์ธ์ (Request changes)
๋ฆฌ๋ทฐ์ด๋ PR์ ๋ด์ฉ์ด ์๋น์ค์ ์ค๋ํ ์ค๋ฅ๋ฅผ ๋ฐ์ํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ ์ฌํ๊ณ ์๋ ๋ฑ ์ค๋ํ ์ฝ๋ ์์ ์ด ๋ฐ๋์ ํ์ํ๋ค๊ณ ํ๋จ๋๋ ๊ฒฝ์ฐ, P1 ํ๊ทธ๋ฅผ ํตํด ๋ฆฌ๋ทฐ ์์ฒญ์์๊ฒ ์์ ์ ์์ฒญํฉ๋๋ค. ๋ฆฌ๋ทฐ ์์ฒญ์๋ p1 ํ๊ทธ์ ๋ํด ๋ฆฌ๋ทฐ์ด์ ์์ฒญ์ ๋ฐ์ํ๊ฑฐ๋, ๋ฐ์ํ ์ ์๋ ํฉ๋ฆฌ์ ์ธ ์๊ฒฌ์ ํตํด ๋ฆฌ๋ทฐ์ด๋ฅผ ์ค๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
P2: ์ ๊ทน์ ์ผ๋ก ๊ณ ๋ คํด์ฃผ์ธ์ (Request changes)
์์ฑ์๋ P2์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ์ ํฉํ ์๊ฒฌ์ ๋ค์ด ํ ๋ก ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
P3: ์ฌ๋งํ๋ฉด ๋ฐ์ํด ์ฃผ์ธ์ (Comment)
์์ฑ์๋ P3์ ๋ํด ์์ฉํ๊ฑฐ๋ ๋ง์ฝ ์์ฉํ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ๋ฐ์ํ ์ ์๋ ์ด์ ๋ฅผ ๋ค์ด ์ค๋ช ํ๊ฑฐ๋ ๋ค์์ ๋ฐ์ํ ๊ณํ์ ๋ช ์์ ์ผ๋ก(JIRA ํฐ์ผ ๋ฑ์ผ๋ก) ํํํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. Request changes ๊ฐ ์๋ Comment ์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
P4: ๋ฐ์ํด๋ ์ข๊ณ ๋์ด๊ฐ๋ ์ข์ต๋๋ค (Approve)
์์ฑ์๋ P4์ ๋ํด์๋ ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค. ํด๋น ์๊ฒฌ์ ๋ฐ์ํ๋ ๊ฒ ์ข์์ง ๊ณ ๋ฏผํด ๋ณด๋ ์ ๋๋ฉด ์ถฉ๋ถํฉ๋๋ค.
P5: ๊ทธ๋ฅ ์ฌ์ํ ์๊ฒฌ์ ๋๋ค (Approve)
์์ฑ์๋ P5์ ๋ํด ์๋ฌด๋ฐ ์๊ฒฌ์ ๋ฌ์ง ์๊ณ ๋ฌด์ํด๋ ๊ด์ฐฎ์ต๋๋ค.
- Commit ์ ๊ฐ๊ธ์ ์ด๋ฉด ๊ธฐ๋ฅ ๋น ํ๋์ ์ปค๋ฐ์ ์ฌ์ฉํ๋ค.
- Commit ๋ฉ์์ง๋ ๋ฐ๋์ ํ๊ธ๋ก ์์ฑํ๋ฉฐ, ๋๋ฌด ๊ธธ์ด์ง์ง ์๋๋ก ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ค.
- Commit ๋ฉ์์ง์ ๋ฌธ์ฅํ์ ์ฌ์ฉํ์ง ์๋๋ค.
- Commit ๋ฉ์์ง์ ๋ง์นจํ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
-
husky
๋ฅผ ์ด์ฉํ pre-commit ์ ์ฌ์ฉํ๋ค. -
main
๊ณผdefault
๋ธ๋์น์force-push
๋ฅผ ๊ธ์งํ๋ค. (๋ ํฌ ์ค์ )
prefix | ์ค๋ช |
---|---|
โจ feat | ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒฝ์ฐ |
๐ fix | ๋ฒ๊ทธ๋ฅผ ๊ณ ์น ๊ฒฝ์ฐ |
๐ design | CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
๐ hotfix | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐ |
๐จ style | ์ฝ๋ ํฌ๋งท ๋ณ๊ฒฝ, ์ธ๋ฏธ ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ ์ด ์๋ ๊ฒฝ์ฐ |
โป๏ธ refactor | ํ๋ก๋์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง |
๐ก comment | ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
๐ docs | ๋ฌธ์๋ฅผ ์์ ํ ๊ฒฝ์ฐ |
โ test | ํ ์คํธ ์ถ๊ฐ, ํ ์คํธ ๋ฆฌํฉํฐ๋ง (ํ๋ก๋์ ์ฝ๋ ๋ณ๊ฒฝ X) |
๐ง env | ํ๋ก์ ํธ ํ๊ฒฝ ์ค์ |
๐คก mock | msw ๊ด๋ จ |
๐ init | ํ๋ก์ ํธ ์ฒซ ์ค์ |
๐ rename | ํ์ผ ํน์ ํด๋ ๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐ |
๐ฅ remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ |
๐ฆ chore | ๋น๋ ํ์คํธ ์ ๋ฐ์ดํธ, ํจํค์ง ๋งค๋์ ์ค์ (ํ๋ก๋์ ์ฝ๋ ๋ณ๊ฒฝ X) |
๐ฑ asset | asset ๊ด๋ จ ํ์ผ(favicon, font) ์ ๋ฐ์ดํธ ์์ ๋ง ์ํํ์ ๊ฒฝ์ฐ |
์ฐ๋ฆฌ๋ git flow ๋ฐ github flow์ ๊ฐ์ ์ ํํ ๋ ๋ฐฉ์์ ์ฑํํ์ง ์์๋ค. ํด๋น ์ ๋ต์ ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ์ ๊ท๋ชจ์ ๋นํด ๋ณต์ก์ฑ์ด ํฐ ํธ์ด๊ธฐ ๋๋ฌธ์ ์งง์ ๊ฐ๋ฐ์๊ฐ ์์, ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ์ฌ ๋ธ๋์น ์ ๋ต์ ์ต๋ํ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ฉํ๊ธฐ๋ก ํฉ์ํ์๋ค.
๋ฐ๋ผ์ ์๋์ ์ต์ํ์ ๋ธ๋์น ์ ๋ต์ ์ฑํํ์๋ค.
-
develop
: ๊ฐ๋ฐ์ฉ ๋ธ๋์น - ๊ธฐ๋ณธ์ ์ผ๋ก commit prefix ์ ๋ฐ๋ผ ๊ธฐ๋ฅ์ ๋๋๊ณ ์ด์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ branch๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ค.
- ์์ :
feature/{issue-number}
: ๊ธฐ๋ฅ ๊ตฌํ branch,fix/{issue-number}
: ๋ฒ๊ทธ ์์ branch
- ์์ :
- ๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ
develop
๋ธ๋์น๋ก ๋จธ์งํ ๋๋squash and merge
๋ฅผ ์ฌ์ฉํ๋ค. - ๊ฐ๋ฐ์ด ์๋ฃ๋๊ณ ,
develop
๋ธ๋์น๋ฅผmain
๋ธ๋์น๋ก ๋จธ์งํ ๋๋rebase and merge
๋ฅผ ์ฌ์ฉํ๋ค. - ์ฐธ๊ณ ์๋ฃ : GitHub์ Merge, Squash and Merge, Rebase and Merge ์ ํํ ์ดํดํ๊ธฐ