Git Flow๋?
Git์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๋ ํ๊ฒฝ์์ ๋ธ๋์น๊ฐ์ ๋ฌธ์ ์์ด ๋ฐฐํฌ๊น์ง ์์ ์ ์ผ๋ก ํ ์ ์๋๋ก ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ๋ ์ ๋ต์ ๋งํ๋ค.
๐ ์ฃผ์ ๋ธ๋์น
- Main(=Master) : ์ค์ ์ด์ ํ๊ฒฝ์ ๋๊ฐ์๋ ์ฝ๋๋ง ์กด์ฌ
- Dev : ๋ฉ์ธ ๋ธ๋์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฒ (๋ค์ ๋ฐฐํฌ์ ๋๊ฐ ๋ด์ฉ๋ค์ ๋ฐ๋ก ๋ฉ์ธ์ ๋จธ์งํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ feature์์ ๊ฐ์ ธ์จ ๊ฒ๋ค์ ๋ชจ์๋์ ๊ฒ)
- Feature : ์๋ก์ด ๊ฐ๋ฐ์ ํ ๋ feature๋ฅผ ๋ฐ์ ๊ฐ๋ฐํ๊ณ Dev์ merge
- Release : ๋ฐ๋ธ ๋ธ๋์น๋ฅผ ๋ฒ ์ด์ค๋ก ๋ง๋ฆ. Release๊ฐ ์์ฑ๋ ์ดํ๋ถํฐ๋ ๋์ด์ Dev์์ ์์ ์ํ๊ณ Release์์ ์์ ํ๊ฒ ๋จ.
- Hotfix : ์๋์น ์์ ์ฅ์ ์ํฉ์ด ๋ฐ์ํ์ ๋ ๋ฉ์ธ ๋ธ๋์น์์ ๋ฐ๋ก ์์ฑํ๊ณ ์์ ํ๋ ๋ธ๋์น. ์ต์ํ์ ๋ถ๋ถ๋ง ์์ ํด์ ์ปค๋ฐํ๊ณ ๋ฉ์ธ์ ๋ฐฐํฌํด์ ์ด์
๐ ๋ก๊ทธ์ธ๊ณผ ๋ก๊ทธ์์์ ๊ตฌํํ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ก ๋ค์ด๋ณด์!
1. main ๋ธ๋์น์์ dev ๋ธ๋์น ์์ฑ
2. dev๋ธ๋์น์์ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์ ๊ธฐ๋ฅ์ ๊ฐ feature๋ธ๋์น๋ก ๋ง๋ค์ด ๊ฐ๋ฐ
3. feature์์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋ ๊ฒ์ dev์ merge
4. dev๋ฅผ ๊ธฐ๋ฐ์ผ๋ก release๋ธ๋์น ์์ฑ
๐ ์ฌ๊ธฐ์ relase๋ธ๋์น๋ dev๋ธ๋์น์ ๊ฐ์ ๋ ๋ฒจ์ ์กด์ฌ
๐ค ๋ง์ฝ! release๋ธ๋์น ์์ฑ ํ ์ถ๊ฐ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ
ex) QA์ ํ ์คํธ ๊ณผ์ ์์ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์ ๋ฟ๋ง ์๋๋ผ ํจ์ค์๋๋ฅผ ์ฐพ๋ ๋ก์ง์ด ํ์ํ๋ค๊ณ ํ๋ ๊ฒฝ์ฐ
์ด๋ฐ ๊ฒฝ์ฐ์๋ release๋ธ๋์น๊ฐ ์ด๋ฏธ ์์ฑ๋์๊ธฐ ๋๋ฌธ์ release๋ธ๋์น๋ฅผ ๋ฒ ์ด์ค๋ก feature๋ฅผ ์์ฑํด์ ์์ ํ๊ณ release๋ธ๋์น์ merge
์ด๋ด ๊ฒฝ์ฐ์๋ dev ๋ธ๋์น๋ ๋ชจ๋ ๊ฒ์ ๊ฐ์ง๊ณ ์๋ ์ํ๊ฐ ์๋๋ค!
dev๋ธ๋์น๊ฐ ๋ค์ ๋ฉ์ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋๊ธฐ ์ํด์๋ release๋ธ๋์น๋ฅผ main๋ธ๋์น์ mergeํ dev๋ธ๋์น์ ์ฑํฌ(Sync)๋ฅผ ๋ง์ถฐ์ค์ผํ๋ค.
๐ค release๋ธ๋์น์ ์ถ๊ฐ์์ ์ด ์๋ ๊ฒฝ์ฐ
release๋ธ๋์น๋ฅผ main์ mergeํ๊ณ main์ ์๋ก ๋ฐ์๋ ๋ด์ฉ์ dev์์๋ ์ฑํฌ๋ฅผ ๋ง์ถฐ์ผ ํจ.
๐ค Hotfix๊ฐ ๋๊ฐ์ผ ํ ์ํฉ
main๋ธ๋์น๋ฅผ ๋ฒ ์ด์ค๋ก hotfix๋ธ๋์น๋ฅผ ์์ฑํ๋ค.
๐ ์ด๋๋ ์ต์ํ์ ์์ ๋ฒ์๋ฅผ ๊ฐ๋ ๊ฒ์ ๊ฐ๋ฐํ๊ณ main๋ธ๋์น์ mergeํ๋ค. ์ฌ๊ธฐ์๋ ๊ผญ dev์ main์ ์ฑํฌ๋ฅผ ๋ง์ถฐ์ผ ํ๋ค.
'๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IntelliJ ์์ git flow ์ฌ์ฉํ๊ธฐ (0) | 2024.01.17 |
---|---|
Unable to create '/.git/index.lock': File exists. (0) | 2023.11.13 |
IntelliJ ์์ฐ๋ import ์ ๋ฆฌ (0) | 2023.11.01 |
ํฐ์คํ ๋ฆฌ ์ฝ๋๋ธ๋ญ [ ์ฝ๋๋ธ๋ญ ํ ๋๋ฆฌ ์์ ๊ธฐ ] โผโผ๐ (0) | 2021.08.04 |