๐Ÿ“˜ [Git] ํ˜ผ์ž์„œ ํ˜‘์—…์ฒ˜๋Ÿผ Git ์—ฐ์Šตํ•˜๊ธฐ

๐Ÿ“˜ [Git] ํ˜ผ์ž์„œ ํ˜‘์—…์ฒ˜๋Ÿผ Git ์—ฐ์Šตํ•˜๊ธฐ

ํ˜ผ์ž์„œ ํ˜‘์—…์ฒ˜๋Ÿผ Git ์—ฐ์Šตํ•˜๊ธฐ


๐Ÿง  ์‹œ์ž‘ํ•˜๋ฉฐ

ํ˜ผ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ๋„ ํ˜‘์—…ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Git์„ ์“ฐ๋Š” ์Šต๊ด€์€ ๋‚˜์ค‘์— ํŒ€ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•  ๋•Œ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” ์ œ๊ฐ€ ์ง์ ‘ ํ˜ผ์ž์„œ ํ˜‘์—… ํ™˜๊ฒฝ์„ ์—ฐ์Šตํ•ด๋ณด๊ธฐ ์œ„ํ•ด ์„ค์ •ํ•œ ํ๋ฆ„์„ ์ •๋ฆฌํ•ด๋ด…๋‹ˆ๋‹ค.


๐Ÿ“ ๋ธŒ๋žœ์น˜ ๊ฐœ์š”


  • mainย : ๋ฐฐํฌ์šฉ (ํ•ญ์ƒ ์•ˆ์ •๋œ ์ƒํƒœ ์œ ์ง€)
  • devย : ํ†ตํ•ฉ ๊ฐœ๋ฐœ์šฉ (๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ์—ฌ๊ธฐ๋กœ merge)
  • feature/*ย : ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜ (๊ธฐ๋Šฅ๋ณ„ ์„ธ๋ถ„ํ™”)

๐Ÿ”„ 1. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋งŒ๋“ค๊ธฐ


git add .
git commit -m "init commit"
git branch -M main
git remote add origin [์›๊ฒฉ ์ €์žฅ์†Œ ์ฃผ์†Œ]
git push -u origin main

๐ŸŒฟ 2. dev ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ (ํ˜‘์—…์šฉ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜)


git checkout -b dev
git push -u origin dev
  • ์ด์ œ ๊ฐœ๋ฐœ ์ž‘์—…์€ ๋ชจ๋‘ dev์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • main์€ ์˜ค์ง ๋ฆฌ๋ทฐ ๋ฐ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ๋œ ์ฝ”๋“œ๋งŒ ๋จธ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ 3. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ๋‚˜๋ˆ ์„œ ์ž‘์—…ํ•˜๊ธฐ


git checkout -b feature/search
git add .
git commit -m "๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„"
git push -u origin feature/search
git checkout -b feature/submenu
git add .
git commit -m "์„œ๋ธŒ ๋ฉ”๋‰ด ๊ตฌํ˜„"
git push -u origin feature/submenu
  • ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ feature/* ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ , ์™„๋ฃŒ๋˜๋ฉด dev๋กœ PR(Pull Request)ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ” 4. PR ์‹œ๋ฎฌ๋ ˆ์ด์…˜: feature โ†’ dev โ†’ main


  1. feature/search โ†’ dev๋กœ Pull Request
  2. ํ˜ผ์ž์ง€๋งŒ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (์ž์‹ ์—๊ฒŒ ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ)
  3. merge ์™„๋ฃŒ ํ›„ dev ํ™•์ธ
  4. dev์—์„œ ์ผ์ • ์ˆ˜์ค€ ํ†ตํ•ฉ๋˜๋ฉด โ†’ main์œผ๋กœ ๋ฐฐํฌ
# ๋ฐฐํฌ ์ „ ๋ณ‘ํ•ฉ (ํ…Œ์ŠคํŠธ ์™„๋ฃŒ ๊ฐ€์ •)
git checkout main
git merge dev
git push origin main

โš”๏ธ 5. ์ถฉ๋Œ ์ƒํ™ฉ ์ผ๋ถ€๋Ÿฌ ๋งŒ๋“ค์–ด๋ณด๊ธฐ


feature/search ์™€ feature/submenu ๊ฐ™์€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ›„ commit ์ƒํ™ฉ์—์„œ merge๋ฅผ ํ•ด๋ณผ๊ฒƒ์ด๋‹ค.

๊ฐ ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜์ • ํŒŒ์ผ์ด ๊ฐ™์„๋•Œ ์ˆ˜์ • ์œ„์น˜๊ฐ€ ๋‹ค๋ฅด๋ฉด merge ๊ฐ€๋Šฅ but ์ˆ˜์ •ํ•œ ์œ„์น˜๊ฐ€ ๊ฐ™์œผ๋ฉด ์ถฉ๋Œ์ด ์ผ์–ด๋‚œ๋‹ค.

  1. feature/search์—์„œ ๊ฐ™์€ ํŒŒ์ผ ์ผ๋ถ€ ์ˆ˜์ • ํ›„ commit
  2. feature/submenu์—์„œ๋„ ๊ฐ™์€ ๋ถ€๋ถ„ ์ˆ˜์ • ํ›„ commit
  3. ๋‘ ๋ธŒ๋žœ์น˜๋ฅผ dev์— mergeํ•  ๋•Œ ์ถฉ๋Œ ๋ฐœ์ƒ
  4. git status ๋ณด๊ณ  ์ˆ˜๋™์œผ๋กœ ์ถฉ๋Œ ํ•ด๊ฒฐ
git checkout dev
git merge feature/search
git merge feature/submenu
# >> ์ถฉ๋Œ ๋ฐœ์ƒ
# ํŒŒ์ผ ์ˆ˜์ • ํ›„:
git add .
git commit -m "์ถฉ๋Œ ํ•ด๊ฒฐ"

๐Ÿ“ฆ 6. ๋ธŒ๋žœ์น˜ ์ „๋žต ์‹œ๊ฐํ™”


main (๋ฐฐํฌ)
โ”‚
โ”œโ”€โ”€ dev (ํ†ตํ•ฉ ๊ฐœ๋ฐœ)
โ”‚   โ”œโ”€โ”€ feature/search
โ”‚   โ”œโ”€โ”€ feature/submenu
โ”‚   โ””โ”€โ”€ feature/user-profile

๐Ÿ’ฌ ๋งˆ๋ฌด๋ฆฌ


Git ๊ด€๋ฆฌ๋Š” ๋‚˜์˜ ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ž‘์—…๋ฌผ์„ ์ž์„ธํžˆ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ํ˜ผ์ž์„œ Git์„ ๊ด€๋ฆฌํ• ๋•Œ ๋ณด๋‹ค ํŒ€ ๋‹จ์œ„๋กœ ํ˜‘์—…์„ ํ• ๋•Œ ๊ทธ ์ค‘์š”์„ฑ์€ ๋” ํฌ๊ฒŒ ๋А๋‚„๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค๋ฌด์—์„œ ํ˜‘์—…์€ ๋ธŒ๋žœ์น˜ ์ „๋žต๋ถ€ํ„ฐ ๋ฆฌ๋ทฐ ๋ฐฉ์‹๊นŒ์ง€ ๋ชจ๋‘ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
ํ˜ผ์ž๋ผ๋„ ์ด๋Ÿฐ ํ๋ฆ„์„ ์—ฐ์Šตํ•ด๋‘๋ฉด ์‹ค์ œ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“‘ Reference



Pagination


ยฉ 2025. All rights reserved.

Powered by Hydejack v9.2.1