π κΉ(Git) λΈλμΉλ‘ μμ΄λμ΄ μ€ννκΈ°
π§ μλ‘μ΄ κΈ°λ₯μ μΆκ°νκ³ μΆλ€κ³ ? νμ§λ§...
κ°λ°μ λ―Όμλ μ΄μ μ μΌλ‘ νλ‘μ νΈλ₯Ό μ§ννκ³ μμμ΄μ. π
κ·Έλ°λ° κ°μκΈ° μλ‘μ΄ μμ΄λμ΄κ° λ μ¬λμ΄μ.
π‘ "μ΄ κΈ°λ₯μ μΆκ°νλ©΄ λ λ©μ§ κ² κ°μλ°?"
νμ§λ§ λ¬Έμ κ° μμμ΄μ.
π λ§μ½ μ κΈ°λ₯μ μΆκ°νλ€κ° κΈ°μ‘΄ μ½λκ° λ§κ°μ§λ€λ©΄?
π μ§κΈ μ λμκ°λ μ½λμ μν₯μ μ£Όμ§ μκ³ μ€νν λ°©λ²μ μμκΉ?
λ―Όμλ κ³ λ―Όνμ΄μ. νμ§λ§ λ΅μ μ΄λ―Έ λμ μμμ΄μ. κΉ(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 λΈλμΉμ΄λ¦
π μ΄μ λΉμ μ νλ‘μ νΈμμλ κΉ λΈλμΉλ₯Ό νμ©νμΈμ!
μ½λ©μ νλ€ λ³΄λ©΄ μΈμ λ μ§ μλ‘μ΄ μμ΄λμ΄κ° λ μ€λ₯Ό μ μμ΄μ.
κ·Έλ λ€κ³ κΈ°μ‘΄ νλ‘μ νΈλ₯Ό μννκ² λ§λ€ νμλ μμ΄μ!
π "λΈλμΉλ₯Ό λ§λ€κ³ μ€ννλ©΄ μμ νκ² κ°λ°ν μ μλ€!"
μ΄μ μ¬λ¬λΆλ κΉ λΈλμΉλ‘ λ€μν μ€νμ ν΄λ³΄μΈμ! ππ‘