[Git] Git Flow

2020. 5. 11. 14:12ยท๐Ÿ“ Computer Science/โœ

Git

Git์€ ์„œ๋ฒ„๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ง€์—ญ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ, ์ฝ”๋“œ ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ž‘์—…์„ ํ•œ๋‹ค.

GitHub๋Š” Git์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฃŒ๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์‚ฌ์ดํŠธ์ด๋‹ค.

 

Git Flow

  • ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋Š” 5๊ฐ€์ง€๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค.
  • feature > develop > release > hotfix > master ๋ธŒ๋žœ์น˜๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๋จธ์ง€ ์ˆœ์„œ๋Š” ์•ž์—์„œ ๋’ค๋กœ ์ง„ํ–‰๋œ๋‹ค.
  • release ๋ธŒ๋žœ์น˜์™€ hotfix ๋ธŒ๋žœ์น˜์˜ ๊ฒฝ์šฐ, develop ๋ธŒ๋žœ์น˜์˜ ์˜ค๋ฅธ์ชฝ์— ์กด์žฌํ•˜๊ธฐ์— ๋ชจ๋‘ develop ๋ธŒ๋žœ์น˜๋„ ๋จธ์ง€๋ฅผ ํ•˜๋„๋ก ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ๋‹ค.

 

Git Flow

 

1) Master Branch

์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋ฐฐํฌ(Release) ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ. ์ฆ‰, ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋งŒ์„ ๊ด€๋ฆฌํ•œ๋‹ค.

 

2) Develop Branch

๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ธŒ๋žœ์น˜๋“ค์„ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๊ณ  ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์–ด ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์•ˆ์ •์ ์ธ ์ƒํƒœ๋ผ๋ฉด develop ๋ธŒ๋žœ์น˜๋ฅผ master ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(merge)ํ•œ๋‹ค. ์ฆ‰, ํ‰์†Œ์—๋Š” ์ด ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•œ๋‹ค.

 

Develop Branch

 

3) Feature branch

๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค develop ๋ธŒ๋žœ์น˜๋กœ๋ถ€ํ„ฐ ๋ถ„๊ธฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ(merge)ํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•œ๋‹ค. ์ด๋•Œ feature ๋ธŒ๋žœ์น˜์—์„œ์˜ ์ž‘์—…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณต์œ ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค.

 

Feature branch

 

4) Release Branch

์ด๋ฒˆ ์ถœ์‹œ ๋ฒ„์ „์„ ์ค€๋น„ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ „์šฉ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ•œ ํŒ€์ด ํ•ด๋‹น ๋ฐฐํฌ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํŒ€์€ ๋‹ค์Œ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๋”ฑ๋”ฑ ๋Š์–ด์ง€๋Š” ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ฅผ ์ •์˜ํ•˜๊ธฐ์— ์•„์ฃผ ์ข‹๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ‘์ด๋ฒˆ ์ฃผ์— ๋ฒ„์ „ 1.3 ๋ฐฐํฌ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค!’๋ผ๊ณ  ํŒ€ ๊ตฌ์„ฑ์›๋“ค๊ณผ ์‰ฝ๊ฒŒ ์†Œํ†ตํ•˜๊ณ  ํ•ฉ์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค.

 

Release Branch

 

5) Hotfix Branch

์ถœ์‹œ ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋ฐฐํฌํ•œ ๋ฒ„์ „์— ๊ธด๊ธ‰ํ•˜๊ฒŒ ์ˆ˜์ •์„ ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ master ๋ธŒ๋žœ์น˜์—์„œ ๋ถ„๊ธฐํ•˜๋Š” ๋ธŒ๋žœ์น˜์ด๋‹ค. develop ๋ธŒ๋žœ์น˜์—์„œ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜์—ฌ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์„ ๋งŒ๋“ค๊ธฐ์—๋Š” ์‹œ๊ฐ„๋„ ๋งŽ์ด ์†Œ์š”๋˜๊ณ  ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ๋„ ์–ด๋ ค์šฐ๋ฏ€๋กœ ๋ฐ”๋กœ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ master ๋ธŒ๋žœ์น˜์—์„œ ์ง์ ‘ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ ์ˆ˜์ •ํ•œ ํ›„ ๋‹ค์‹œ master ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•˜์—ฌ ์ด๋ฅผ ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

Hotfix Branch

 

์ฐธ๊ณ 

https://ujuc.github.io/2015/12/16/git-flow-github-flow-gitlab-flow/

 

Git flow, GitHub flow, GitLab flow

Git flow, GitHub flow, GitLab flow ์—๋Œ€ํ•ด์„œ ์ข€ ์•Œ์•„๋ณด์ž. ๋จธ๋ฆฌ์•„ํ”„๋‹ค.

ujuc.github.io

https://sujinlee.me/professional-github/

 

๊นƒํ—ˆ๋ธŒ(GitHub)๋กœ ์ทจ์—…ํ•˜๊ธฐ

๊นƒํ—ˆ๋ธŒ ํ”„๋กœํ•„ ๋งํฌ ํ•˜๋‚˜๋กœ ์ทจ์—…์ด ๋œ๋‹ค๋˜๋ฐ? ๊ทธ๋ ‡๋‹ค. ์ •๋ง ๊นƒํ—ˆ๋ธŒ ํ•œ ์ค„์ด๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ง€๊ธˆ ๋‹น์‹ ์˜ ๊นƒํ—ˆ๋ธŒ๋Š” ์•ˆ๋…•ํ•œ๊ฐ€? '์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด'๋กœ์„œ ์ „๋ฌธ์„ฑ์žˆ๋Š” ๊นƒํ—ˆ๋ธŒ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ

sujinlee.me

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ“ Computer Science/โœ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Git] Git README, .gitignore ํŒŒ์ผ
  • ๋ชจ๋“ˆ๊ณผ ์ปดํฌ๋„ŒํŠธ
  • ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • TDD(Test Driven Development)
Blxxming
Blxxming
CS ์ง€์‹๊ณผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ฐฐ์šด ๊ฒƒ, ๊ฒฝํ—˜ํ•œ ๊ฒƒ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • Blxxming
    ๐Ÿ’ก๋ฒˆ๋œฉ๐Ÿ’ก
    Blxxming
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • Tech Interview
    • ๐Ÿ“š Tech (246)
      • ๐Ÿ“ Computer Science (96)
        • โœ OS (12)
        • โœ Network & Web (10)
        • โœ Database (11)
        • โœ Data Structure (6)
        • โœ Algorithm (40)
        • โœ Design Pattern (9)
        • โœ Cloud Computing (3)
        • โœ (5)
      • ๐Ÿ“ Language (73)
        • โœ Language (6)
        • โœ C & C++ (11)
        • โœ C# (19)
        • โœ JAVA (37)
      • ๐Ÿ“ Game (43)
        • โœ Computer Graphics (2)
        • โœ Unity (14)
        • โœ Unreal (26)
        • โœ (1)
      • ๐Ÿ“ Book (34)
        • โœ Effective (3)
        • โœ Game Server (16)
        • โœ Clean Code (14)
        • โœ (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Blxxming
[Git] Git Flow
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”