-
Notifications
You must be signed in to change notification settings - Fork 0
Git Branching Strategy
https://github.com/woowacourse-teams/2024-pengcook
- ์ปค๋ฐ ํ์ ์ ๊น๋ชจ์ง๋ฅผ ์ฌ์ฉํด์
- ์ปค๋ฐ ๋ฉ์์ง, PR title, PR description์ ์์ด๋ก ํต์ผํด์
- PR comment๋ ํ๊ธ๋ก ์์ฑํด์
- PR์ฃผ๊ธฐ๋ ๊ธฐ๋ฅ ๋จ์๋ก ํด์ (๋ถ์ผ๋ณ๋ก ๊ถํ ์์)
- ์ปค๋ฐ ๋ฉ์์ง title์ 50์ ์ดํ๋ก ์์ฑํด์
- ์ปค๋ฐ ์ค์ฝํ๋ ์๋ตํด์
*์ ํญ์ ์ ์ง๋๋ ๋ธ๋์น์ด๋ฉฐ, ํด๋น ๋ธ๋์น์์๋ ์ปค๋ฐ์ ํ์ง ์๋๋ค.
- **
main
*** - **
an/prod
*** - **
be/prod
*** an/release
be/release
- **
an/dev
*** - **
be/dev
*** an/feat/[issue-number]
be/feat/[issue-number]
-
๊ฐ์ Task์ ๋ฐ๋ฅธ Issue๋ฅผ ์์ฑํ๋ค. โ ์ด์ ๋ฒํธ๊ฐ ์ซ์๋ก ์์ฑ๋จ
-
dev
๋ธ๋์น๋ก๋ถํฐfeat
๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐ์ ์งํํ๋ค.๋ธ๋์น ์์ฑ ์, ์์ฑ๋ ์ด์ ๋ฒํธ๋ฅผ ํ ๋๋ก ๋ธ๋์น ์ด๋ฆ์ ์ค์ ํ๋ค.
[position]/feat/[issue-number]
git checkout an/dev git fetch origin an/dev git rebase origin/an/dev git checkout -b an/feat/126
-
๊ฐ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ง์น ํ PR์ ์๋ ๋ธ๋์น ๋ฐฉํฅ๋๋ก ์์ฑํ๋ค. an/dev โ an/feat/123
PR ์์ฑ ์ด์ ๋ก์ปฌ์์ dev ๋ธ๋์น๋ฅผ pullํ๋ค.
<aside> ๐ก ์ด๋ pull์ rebase๊ฐ ์๋ merge ํํ๋ก ํ๋ค (git config pull.rebase false)
</aside>
-
ํด๋น PR์ ๋ํด ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์๋ฃํ ๋ค PR์ reabseํ๋ค. (
Merge
๋Squash
๋ ์ ์ฉํ์ง ์๋๋ค.)์ด ๊ณผ์ ์์, rebase๋ฅผ ์ ์ฉํ๋ค.
Rebase๋๋ฉด, ํด๋น ๋ธ๋์น๋ ์ญ์ ํ๋ค.
-
๋ชฉํ ๋จ์๊น์ง์ ๊ฐ๋ฐ์ด ์๋ฃ๋๋ฉด ๋ฐฐํฌ ์ค๋น๋ฅผ ์ํด
release
๋ธ๋์น๋ฅผ ์์ฑํ๋ค.git checkout -b an/release
-
๋ฆด๋ฆฌ์ค์์ ์ ์ฒด ํ ์คํธ๋ฅผ ์งํํ๋ ๋์ ๋ฌธ์ ๋ฐ์ ์, Hotfix๋ก ์์ ์ฌํญ์ ๋ฐ์ํ ํ
dev
๋ธ๋์น๋ก ๋ณํฉํ๋ค. Commit message ๐:ambulance: resolve some problem
-
release
๋ธ๋์น์์ ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ์ฌ ๋ฐฐํฌ ์ค๋น๊ฐ ์๋ฃ๋๋ฉด PR์ ์๋ ๋ธ๋์น ๋ฐฉํฅ๋๋ก ์์ฑํ๋ค.an/prod
โan/release
-
PR ๋ณํฉ ์
Squash
๋ฅผ ํตํด ์ปค๋ฐ ์ด๋ ฅ์ ํ๋๋ก ํตํฉํ๋ค. -
๋ง์ฝ
prod
๋ธ๋์น์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด 6๋ฒ ๊ณผ์ ์ผ๋ก ๋์๊ฐ๋ค. -
์์ ๋ release ๋ธ๋์น ์์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด, ์๋์ ๊ฐ์ด ๋ค์
dev
๋ธ๋์น์ ๋ณํฉํ๋ค.an/dev
โan/release
-
-
prod
๋ธ๋์น์์ ๋ชจ๋ ์ค๋น๊ฐ ์๋ฃ๋๋ฉด, PR์ ์๋ ๋ธ๋์น ๋ฐฉํฅ๋๋ก ์์ฑํ๋ค.main
โan/prod
-
main
๋ธ๋์น์ PR์ ์งํํ ๋๋, ์๋์ ๊ฐ์ PR๋ช ์ปจ๋ฒค์ ์ ๋ฐ๋ฅธ๋ค.release v1.0.0
b. PR ๋ณํฉ ์
rebase
์ผ๋ก ๋จธ์งํ๋ค. -
-
์ดํ ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ ์, 1๋ฒ ๊ณผ์ ์ผ๋ก ๋์๊ฐ๋ค.
- feature : ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
- fix : ๋ฒ๊ทธ ์์
- refactor : ์ฝ๋ ๋ฆฌํฉํ ๋ง
- build : ๋น๋ ๊ด๋ จ ํ์ผ ์์
- ci : CI ์ค์ ํ์ผ ์์
- cd : CD ์ค์ ํ์ผ ์์
- perf : ์ฑ๋ฅ ๊ฐ์
- chore : ๊ทธ ์ธ ์์ํ ์์
์์ด์ฝ | ์ฝ๋ | ์ค๋ช | ์๋ฌธ |
---|---|---|---|
โจ | โจ | ์ ๊ธฐ๋ฅ | Introduce new features. |
โป๏ธ | โป๏ธ | ์ฝ๋ ๋ฆฌํฉํ ๋ง | Refactor code. |
๐ฅ | ๐ฅ | ์ฝ๋/ํ์ผ ์ญ์ | Remove code or files. |
๐ | ๐ | ๋ฒ๊ทธ ์์ | Fix a bug. |
โ | โ | ํ ์คํธ ์ถ๊ฐ/์์ | Add or update tests. |
๐ | ๐ | ๋ฌธ์ ์ถ๊ฐ/์์ | Add or update documentation. |
๐ | ๐ | UI/์คํ์ผ ํ์ผ ์ถ๊ฐ/์์ | Add or update the UI and style files. |
โ | โ | ์์กด์ฑ ์ถ๊ฐ | Add a dependency. |
โ | โ | ์์กด์ฑ ์ ๊ฑฐ | Remove a dependency. |
๐ง | ๐ง | ๊ตฌ์ฑ ํ์ผ ์ถ๊ฐ/์ญ์ | Add or update configuration files. |
โช | โช | ๋ณ๊ฒฝ ๋ด์ฉ ๋๋๋ฆฌ๊ธฐ | Revert changes. |
๐ | ๐ | ๋ฆฌ์์ค ์ด๋, ์ด๋ฆ ๋ณ๊ฒฝ | Move or rename resources (e.g.: files paths routes). |
๐ก | ๐ก | ์ฃผ์ ์ถ๊ฐ/์์ | Add or update comments in source code. |
๐ | ๐ | ํ๋ก์ ํธ ์์ | Begin a project. |
๐ฉ | ๐ฉ | ๋ฅ์ผ ์ฝ๋ | Write bad code that needs to be improved. |
๐ป | ๐ป | ์ ์ทจํด์ ์ด ์ฝ๋ | Write code drunkenly. |