๐Ÿฅž BE
home

Git Flow Branch Strategy

Git

Git์€ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(VCS)
์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋ฆฌ๋ฒ„์Šค์—”์ง€๋‹ˆ์–ด๋ง์„ ํ•จ. (ํ•ดํ‚น์„ ํ•œ๊ฒƒ.) ๊ทธ๋ž˜์„œ ๋ˆ๋‚ด๋ผ๊ณ  ๋ง‰ ์š”๊ตฌํ•˜๋‹ˆ๊นŒ ๋ฆฌ๋ˆ…์Šค ํ† ๋ฐœ์ฆˆ๊ฐ€ ๋นก์ณ์„œ ๊นƒ์„ ๋งŒ๋“ค์–ด์„œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๋ฐฐํฌํ•ด๋ฒ„๋ฆผ.

Git ํŠน์ง•

โ€ข
๋ณ€๊ฒฝ ์ทจ์†Œ ๊ฐ€๋Šฅ
โ€ข
๋ชจ๋“  ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ์ด๋ ฅ
โ€ข
๋ณ€๊ฒฝํ•œ ์ด์œ ๋ฅผ ๊ธฐ๋ก
โ€ข
๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ํ™•์‹ 
โ€ข
์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ํžˆ์Šคํ† ๋ฆฌ - ์ฒดํฌ์•„์›ƒ์„ ํ•  ์ˆ˜ ์žˆ์Œ. ๋ธŒ๋žœ์น˜๋กœ
โ€ข
์ถฉ๋Œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ
โ€ข
๋…๋ฆฝ๋œ ํžˆ์Šคํ† ๋ฆฌ
๊ธฐ๋ณธ์ ์œผ๋กœ ๋งค์šฐ ๊ฐ€๋ณ๊ณ  ํŒŒ์ผ ๋‚ด์— ๋™์ผํ•œ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚ฌ์„๊ฒฝ์šฐ conflict ์ผ์–ด๋‚˜๊ณ  ๋ธŒ๋žœ์น˜๋“ฑ์œผ๋กœ ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ๊ฐ„ํŽธ, pull request๋“ฑ์œผ๋กœ ์ฝ”๋“œ ๊ด€๋ฆฌ๋„ ๊ฐ„ํŽธ.

GitHub

โ€ข
Git ์ €์žฅ์†Œ
โ€ข
20180604
โ€ข
Bitbucket, GitLab, Azure DevOps
โ€ข
ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ ๊ฐ„ํŽธ. ์›น ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉ
โ€ข
ํ•œ๋ฒˆ ํ…Œ์ŠคํŠธํ•ด๋ณด๋ ค๊ณ  forking ๊ธฐ๋Šฅ์„ ์จ์„œ ํ•ด๋‹น ์†Œ์Šค๋ฅผ ์›ํ•˜๋Š” ์ €์žฅ์†Œ๋กœ ๋ณต์‚ฌํ•ด์™€์„œ ํ…Œ์ŠคํŠธํ•ด๋ณด๊ณ  ์›๋ณธ ์ œ์ž‘์ž์—๊ฒŒ pull requests๋ฅผ ์ค˜์„œ ์ด๋ฅผ ๋” ์ข‹์€ ์ฝ”๋“œ๋กœ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ.
โ€ข
Github Wikis
โ€ข
Github pages - ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ํŽ˜์ด์ง€์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ. ๊นƒํ—™ ๋ธ”๋กœ๊ทธ!
โ€ข
Github Actions
โ€ข
Github Packages
โ€ข
Github Copilot - Ai์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ์— ๋Œ€ํ•ด ์ถ”์ฒœํ•ด์ฃผ๋Š”โ€ฆ
โ€ข
์ž˜ ํ™œ์šฉํ•ด์„œ ๊ฐœ๋ฐœ์ž๊ฐ„ ํ˜‘์—…์„ ์ง„ํ–‰ํ•จ.

GitHub ํŠน์ง•

โ€ข
๊ธฐ๋ก์„ ์š”๊ตฌํ•จ - commit ๋‚ด์—ญ ๋“ฑ
โ€ข
๋…๋ฆฝ๋œ ํžˆ์Šคํ† ๋ฆฌ์— ๋Œ€ํ•œ ํ˜‘๋ ฅ - branch
โ€ข
์ง„ํ–‰์ค‘์ธ ์ž‘์—… ๊ฒ€ํ†  - monitoring, pull request, fork
โ€ข
ํŒ€์˜ ์ž‘์—… ์ง„์ฒ™ ์ƒํ™ฉ ํ™•์ธ - ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํƒœ๊น…. pm ๋“ฑ์ด ํ™•์ธ ๊ฐ€๋Šฅ.
๊นƒํ—ˆ๋ธŒ, ๊นƒ๋žฉ, ๊นƒํ”Œ๋กœ์šฐ ๋ธŒ๋žœ์น˜ ์ „๋žต.
ํ•œ์‚ฌ๋žŒ์ด ์ปค๋ฐ‹์„ ํ•˜๋ฉด ์œ„์—์„œ ์ฒดํฌ.
์‹ค์ œ ์šด์˜์— ๋ฐฐํฌํ•˜๊ธฐ ์ „์— ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹.

Git flow Branch Strategy

โ€ข
Git Flow 5๊ฐ€์ง€ ๋ธŒ๋žœ์น˜
โ€ข
Main, develop, feature, release, hot fix
โ€ข
main๊ณผ develop์€ ์‹ฑํฌ๊ฐ€ ๋˜‘๊ฐ™์•„์•ผํ•จ. ๊ฐœ๋ฐœ์ž๋Š” ์ž„์‹œ ๋ธŒ๋Ÿฐ์น˜์ธ feature๋ฅผ ์ƒ์„ฑํ•ด์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰. ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๋งˆ์Œ์— ์•ˆ๋“ค๋ฉด ๋‚ ๋ฆฌ๋ฉด ๋จ. ๋งˆ์Œ์— ๋“ ๋‹ค๋ฉด, feature ๋ธŒ๋žœ์น˜๋ฅผ develop์— ๋จธ์ง€ํ•˜๊ณ  feature์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ๋Š๋‚Œ.
โ€ข
Sourcetree๋ผ๋Š” gui ํˆด์„ ํ™œ์šฉ.
brew install git-flow-awh
Shell
๋ณต์‚ฌ

Reference