πŸš€ κΉƒ(Git) 브랜치둜 아이디어 μ‹€ν—˜ν•˜κΈ°

πŸš€ κΉƒ(Git) 브랜치둜 아이디어 μ‹€ν—˜ν•˜κΈ°
"쒋은 아이디어λ₯Ό 찾으렀면, λ¨Όμ € λ§Žμ€ 아이디어λ₯Ό λ‚΄μ•Ό ν•œλ‹€." – λ¦¬λˆ„μŠ€ ν† λ₯΄λ°œμŠ€ (Linus Torvalds)

🧐 μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•˜κ³  μ‹Άλ‹€κ³ ? ν•˜μ§€λ§Œ...

개발자 λ―Όμˆ˜λŠ” μ—΄μ •μ μœΌλ‘œ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ³  μžˆμ—ˆμ–΄μš”. πŸš€
그런데 κ°‘μžκΈ° μƒˆλ‘œμš΄ 아이디어가 λ– μ˜¬λžμ–΄μš”.

πŸ’‘ "이 κΈ°λŠ₯을 μΆ”κ°€ν•˜λ©΄ 더 λ©‹μ§ˆ 것 같은데?"

ν•˜μ§€λ§Œ λ¬Έμ œκ°€ μžˆμ—ˆμ–΄μš”.

πŸ“Œ λ§Œμ•½ μƒˆ κΈ°λŠ₯을 μΆ”κ°€ν•˜λ‹€κ°€ κΈ°μ‘΄ μ½”λ“œκ°€ 망가진닀면?
πŸ“Œ μ§€κΈˆ 잘 λŒμ•„κ°€λŠ” μ½”λ“œμ— 영ν–₯을 μ£Όμ§€ μ•Šκ³  μ‹€ν—˜ν•  방법은 μ—†μ„κΉŒ?

λ―Όμˆ˜λŠ” κ³ λ―Όν–ˆμ–΄μš”. ν•˜μ§€λ§Œ 닡은 이미 λ‚˜μ™€ μžˆμ—ˆμ–΄μš”. κΉƒ(Git)의 브랜치 κΈ°λŠ₯! πŸŽ‰


🌱 κΉƒ λΈŒλžœμΉ˜λž€? – 평행 세계λ₯Ό λ§Œλ“œλŠ” μ‹ λΉ„ν•œ 기술!

κΉƒμ—μ„œ 브랜치(branch) λŠ” μ§€κΈˆκΉŒμ§€ μž‘μ—…ν•œ μ½”λ“œλ₯Ό κ·ΈλŒ€λ‘œ λ‘” 채, μƒˆλ‘œμš΄ μ‹€ν—˜μ„ ν•΄λ³Ό 수 μžˆλŠ” κ³΅κ°„μ΄μ—μš”.
μ‰½κ²Œ λ§ν•΄μ„œ, "평행 세계λ₯Ό λ§Œλ“œλŠ” μ‹ λΉ„ν•œ 기술" 같은 κ±°μ£ ! ✨

πŸ“Œ λΈŒλžœμΉ˜λž€?
πŸ‘‰ ν˜„μž¬ ν”„λ‘œμ νŠΈλ₯Ό κ·ΈλŒ€λ‘œ λ‘” 채, μƒˆλ‘œμš΄ λ³€κ²½ 사항을 μ‹€ν—˜ν•  수 μžˆλŠ” λ…λ¦½λœ μž‘μ—… κ³΅κ°„μ΄μ—μš”.
πŸ‘‰ μ‹€ν—˜μ΄ μ„±κ³΅ν•˜λ©΄ μ›λž˜ μ½”λ“œμ— ν•©μΉ  수 있고, 망쳐도 μ›λž˜ μ½”λ“œμ—λŠ” 아무 영ν–₯도 μ—†μ–΄μš”! 😎


🌿 민수의 μ‹€ν—˜ – 브랜치 λ§Œλ“€κΈ°!

λ―Όμˆ˜λŠ” μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•΄λ³΄κΈ°λ‘œ ν–ˆμ–΄μš”.
그런데 κΈ°μ‘΄ μ½”λ“œκ°€ λ§κ°€μ§€λŠ” 게 λ¬΄μ„œμ› μ£ .

κ·Έλž˜μ„œ 브랜치λ₯Ό λ§Œλ“€μ—ˆμ–΄μš”!

git branch new-feature
git switch new-feature

πŸŽ‰ 이제 β€˜new-featureβ€™λΌλŠ” μƒˆ λΈŒλžœμΉ˜μ—μ„œ μ•ˆμ „ν•˜κ²Œ μ‹€ν—˜ν•  수 μžˆμ–΄μš”!

βœ… ν˜„μž¬ ν”„λ‘œμ νŠΈ(메인 브랜치)μ—λŠ” 아무 영ν–₯이 μ—†κ³ , μƒˆλ‘œμš΄ κΈ°λŠ₯을 자유둭게 λ§Œλ“€ 수 있죠!


πŸ’‘ 브랜치λ₯Ό λ§Œλ“€μ—ˆμœΌλ©΄ 뭘 ν•΄μ•Ό ν• κΉŒ?

λ―Όμˆ˜λŠ” 이제 β€˜new-feature’ λΈŒλžœμΉ˜μ—μ„œ 마음껏 μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν–ˆμ–΄μš”.
그리고 만쑱슀러운 κ²°κ³Όκ°€ λ‚˜μ™”μ£ .

이제 κΈ°μ‘΄ ν”„λ‘œμ νŠΈ(메인 브랜치)둜 λŒμ•„κ°€μ„œ, λ³€κ²½λœ λ‚΄μš©μ„ ν•©μΉ  μ°¨λ‘€μ˜ˆμš”!

git switch main  # μ›λž˜ 브랜치둜 λŒμ•„κ°€κΈ°
git merge new-feature  # μƒˆ κΈ°λŠ₯ ν•©μΉ˜κΈ°!

πŸ₯³ μ§œμž”! μ‹€ν—˜μ΄ μ„±κ³΅ν–ˆκ³ , 이제 μƒˆλ‘œμš΄ κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆμ–΄μš”!


πŸ’€ μ‹€νŒ¨ν•œ λΈŒλžœμΉ˜λŠ” μ–΄λ–»κ²Œ μ²˜λ¦¬ν• κΉŒ?

ν•˜μ§€λ§Œ μ‹€ν—˜μ΄ 항상 μ„±κ³΅ν•˜λŠ” 건 μ•„λ‹ˆμ£ .
λ―Όμˆ˜λ„ β€˜new-feature’ λΈŒλžœμΉ˜μ—μ„œ μ—¬λŸ¬ 번 μ‹€νŒ¨ν–ˆμ–΄μš”.

❌ "이건 λ„μ €νžˆ λͺ» μ“°κ² λ‹€..."

이럴 땐 κ·Έλƒ₯ 버렀도 λΌμš”!

1️⃣ 브랜치λ₯Ό μ‚­μ œν•˜κΈ° 전에, λ¨Όμ € μ›λž˜ 브랜치둜 λŒμ•„κ°€μ•Ό ν•΄μš”.

git switch main  # 메인 브랜치둜 이동

2️⃣ 이제 μ‹€νŒ¨ν•œ 브랜치λ₯Ό μ‚­μ œν•΄μš”.

git branch -d new-feature

(🚨 ν•˜μ§€λ§Œ 브랜치λ₯Ό κ°•μ œλ‘œ μ‚­μ œν•˜λ €λ©΄ -D μ˜΅μ…˜μ„ μ‚¬μš©ν•΄μ•Ό ν•΄μš”.)

git branch -D new-feature

βœ… 이제 μ‹€νŒ¨ν•œ λΈŒλžœμΉ˜λŠ” κΉ¨λ—ν•˜κ²Œ μ‚¬λΌμ‘Œμ–΄μš”!


πŸ”₯ 브랜치λ₯Ό μ•ˆ μ“°λ©΄ μƒκΈ°λŠ” 문제

λ―Όμˆ˜λŠ” λ‚˜μ€‘μ— νŒ€μ›λ“€μ—κ²Œ 브랜치의 μ€‘μš”μ„±μ„ μ„€λͺ…ν•΄μ€¬μ–΄μš”.

"브랜치λ₯Ό μ•ˆ μ“°λ©΄ μ½”λ“œκ°€ 엉망이 될 수 μžˆμ–΄!"

πŸ“Œ μ½”λ“œλ₯Ό 직접 λ°”κΎΈλ‹€κ°€ λ§κ°€λœ¨λ¦¬λ©΄ 되돌리기 νž˜λ“€μ–΄μš”.
πŸ“Œ μ—¬λŸ¬ 아이디어λ₯Ό μ‹€ν—˜ν•˜κΈ° μ–΄λ ΅κ³ , κΈ°μ‘΄ μ½”λ“œλž‘ 좩돌이 생길 수 μžˆμ–΄μš”.
πŸ“Œ νŒ€ ν”„λ‘œμ νŠΈμ—μ„œλŠ” μ—¬λŸ¬ μ‚¬λžŒμ΄ λ™μ‹œμ— μž‘μ—…ν•˜κΈ° νž˜λ“€μ–΄μš”.

νŒ€μ›λ“€μ€ 고개λ₯Ό λ„λ•μ˜€μ–΄μš”. 이제 λ‹€λ“€ κΉƒ 브랜치λ₯Ό 잘 ν™œμš©ν•˜κΈ°λ‘œ ν–ˆμ–΄μš”! 🀝


🎯 κΉƒ 브랜치 정리 – μ΄λ ‡κ²Œ μƒκ°ν•˜λ©΄ μ‰¬μ›Œμš”!

🟒 브랜치 = 평행 세계
πŸ‘‰ μ›λž˜ μ½”λ“œμ— 영ν–₯을 μ£Όμ§€ μ•Šκ³ , 자유둭게 μ‹€ν—˜ν•  수 μžˆμ–΄μš”!

🟒 브랜치 λ§Œλ“€κΈ°

git branch λΈŒλžœμΉ˜μ΄λ¦„
git switch λΈŒλžœμΉ˜μ΄λ¦„

🟒 μ‹€ν—˜μ΄ μ„±κ³΅ν•˜λ©΄ ν•©μΉ˜κΈ°!

git switch main
git merge λΈŒλžœμΉ˜μ΄λ¦„

🟒 μ‹€νŒ¨ν•œ 브랜치 μ‚­μ œν•˜κΈ°

git branch -d λΈŒλžœμΉ˜μ΄λ¦„

🟒 κ°•μ œ μ‚­μ œν•˜κΈ° (μ‹€ν—˜ν•˜λ‹€κ°€ μ™„μ „νžˆ 망친 경우)

git branch -D λΈŒλžœμΉ˜μ΄λ¦„

πŸš€ 이제 λ‹Ήμ‹ μ˜ ν”„λ‘œμ νŠΈμ—μ„œλ„ κΉƒ 브랜치λ₯Ό ν™œμš©ν•˜μ„Έμš”!

코딩을 ν•˜λ‹€ 보면 μ–Έμ œλ“ μ§€ μƒˆλ‘œμš΄ 아이디어가 λ– μ˜€λ₯Ό 수 μžˆμ–΄μš”.
κ·Έλ ‡λ‹€κ³  κΈ°μ‘΄ ν”„λ‘œμ νŠΈλ₯Ό μœ„ν—˜ν•˜κ²Œ λ§Œλ“€ ν•„μš”λŠ” μ—†μ–΄μš”!

πŸ“Œ "브랜치λ₯Ό λ§Œλ“€κ³  μ‹€ν—˜ν•˜λ©΄ μ•ˆμ „ν•˜κ²Œ κ°œλ°œν•  수 μžˆλ‹€!"

이제 μ—¬λŸ¬λΆ„λ„ κΉƒ 브랜치둜 λ‹€μ–‘ν•œ μ‹€ν—˜μ„ ν•΄λ³΄μ„Έμš”! πŸš€πŸ’‘