Git์ ํ์๊ด๋ฆฌ ๋๊ตฌ ์ค ํ๋์ด๋ฉฐ, Branch๋ฅผ ํ์ฉํ์ฌ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ธฐ๋ก ๋ฐ ๊ด๋ฆฌํ ์ ์์ต๋๋ค
๊ทธ ์ค ์ค๋์ Git Flow ๋ธ๋์น ์ ๋ต์ ๋ํด ํฌ์คํธํ๋ ค ํฉ๋๋ค.

Git-Flow
Git-flow์๋ 5๊ฐ์ง ์ข ๋ฅ์ ๋ธ๋์น๊ฐ ์กด์ฌํฉ๋๋ค.
ํญ์ ์ ์ง๋๋ ๋ฉ์ธ ๋ธ๋์น๋ค(master, develop)๊ณผ ์ผ์ ๊ธฐ๊ฐ ๋์๋ง ์ ์ง๋๋ ๋ณด์กฐ ๋ธ๋์น๋ค(feature, release, hotfix)์ด ์์ต๋๋ค.
- master : ์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋์น
- develop : ๋ค์ ์ถ์ ๋ฒ์ ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- feature : ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น
- release : ์ด๋ฒ ์ถ์ ๋ฒ์ ์ ์ค๋นํ๋ ๋ธ๋์น
- hotfix : ์ถ์ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น
์ ๊ทธ๋ฆผ์ ํ๋ฆ์ ์ดํด๋ณด๋ฉด,
์ฒ์์๋ master์ develop ๋ธ๋์น๊ฐ ์กด์ฌํ๋ฉฐ, develop ๋ธ๋์น๋ master์์๋ถํฐ ์์๋ ๋ธ๋์น์
๋๋ค.
develop ๋ธ๋์น์์๋ ์์๋ก ๋ฒ๊ทธ๋ฅผ ์์ ํ ์ปค๋ฐ๋ค์ด ์ถ๊ฐ๋๊ณ ,
์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์์ ์ด ์๋ ๊ฒฝ์ฐ develop ๋ธ๋์น์์ feature ๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ ์์ ์๋ฃ ํ develop ๋ธ๋์น๋ก merge ๋ฉ๋๋ค.(์ธ์ ๋ feature ๋ธ๋์น๋ develop์ ํตํด ์์ฑ)
develop์ ์ด๋ฒ ๋ฒ์ ์ ํฌํจ๋๋ ๋ชจ๋ ๊ธฐ๋ฅ์ด merge ๋์๋ค๋ฉด ๊ฒ์ฆ์ ์ํด develop ๋ธ๋์น์์๋ถํฐ release ๋ธ๋์น๋ฅผ ์์ฑํฉ๋๋ค.
๊ฒ์ฆํ๋ฉด์ ๋ฐ์ํ ๋ฒ๊ทธ๋ค์ release ๋ธ๋์น์ ์์ ๋๋ฉฐ, ๊ฒ์ฆ์ ๋ฌด์ฌํ ํต๊ณผํ๋ค๋ฉด release ๋ธ๋์น๋ฅผ master์ develop ๋ธ๋์น๋ก merge ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ถ์๋ master ๋ธ๋์น์์ ๋ฒ์ ํ๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์ดํ master ๋ธ๋์น์์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ฉด hotfix ๋ธ๋์น๋ฅผ ํตํด ์์ ํ, master ๋ธ๋์น๋ก merge ํฉ๋๋ค.
๊ฒฐ๋ก
๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ ๋ณด๋ค ๋ง์ ๋ธ๋์น๋ฅผ ๊ด๋ฆฌํ๋ ๋งํผ ํญ์ flow ์์๋๋ก ํ๋ฌ๊ฐ์ง ์์ผ๋ฉฐ, ์ ๋์ ์ผ๋ก ๊ด๋ฆฌํ ์ค ์์์ผํฉ๋๋ค.
๋๋์
Git์ ํ์ฉํ ๋ธ๋์น ์ ๋ต ์ค ๋๋ถ๋ฅ์ ๋ค์ด๊ฐ๋ ์ ๋ต์ด๋ ๋งํผ ๋ค์๋ ๋ด์ฉ์ ๋ง์ง๋ง ์ฌ์ฉํด๋ณธ์ ์ ์์ด ๊ผญ ํ ๋ฒ ์ฌ์ฉํด๋ณด๊ณ ์ถ์ ์ ๋ต์ ๋๋ค.
์ฐธ์กฐ
์ฐ๋ฆฐ Git-flow๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์ | ์ฐ์ํํ์ ๋ค ๊ธฐ์ ๋ธ๋ก๊ทธ
{{item.name}} ์๋ ํ์ธ์. ์ฐ์ํํ์ ๋ค ๋ฐฐ๋ฏผํ๋ก ํธ๊ฐ๋ฐํ์์ ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ์ ํ๊ณ ์๋ ๋๋ํธ์ ๋๋ค. ์ค๋์ ์ ํฌ ์๋๋ก์ด๋ ํํธ์์ ์ฌ์ฉํ๊ณ ์๋ Git ๋ธ๋์น ์ ๋ต์ ์๊ฐํ๋ ค๊ณ ํฉ
techblog.woowahan.com
'๐ STUDY > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Git] ๋ค์ํ Branch ๋ณํฉ ๋ฐฉ๋ฒ(git merge, git rebase, git merge --squash) (0) | 2024.06.07 |
|---|