2023. 5. 11. 15:31γgit

branch
μ¬λ¬ κ°λ°μλ€μ΄ λμμ λ€μν μμ μ ν μ μκ² λ§λ€μ΄ μ£Όλ κΈ°λ₯
κ°μ λ 립μ μΈ μμ μ μ₯μ μμμ λ§μλλ‘ μμ€μ½λλ₯Ό λ³κ²½ κ°λ₯.
λΆλ¦¬λ μμ μμμμ λ³κ²½λ λ΄μ©μ λμ€μ μλμ λ²μ κ³Ό λΉκ΅ν΄μ νλμ μλ‘μ΄ λ²μ  μμ± κ°λ₯
μ¬λ¬ λͺ μ΄μ λμμ μμ μ ν λμ λ€λ₯Έ μ¬λμ μμ μ μν₯μ μ£Όκ±°λ λ°μ§ μλλ‘, λ¨Όμ  λ©μΈ λΈλμΉμμ μμ μ μμ μ μ© λΈλμΉλ₯Ό λ§λλλ€. κ·Έλ¦¬κ³ κ°μ μμ μ μ§νν ν, μμ μ΄ λλ μ¬λμ λ©μΈ λΈλμΉμ μμ μ λΈλμΉμ λ³κ²½ μ¬νμ μ μ©
μ μ₯μλ₯Ό μ²μ λ§λ€λ©΄, Gitμ λ°λ‘ 'master' λΌλ μ΄λ¦μ λΈλμΉλ₯Ό λ§λ€μ΄ μ€.
μ΄ μ μ₯μμ μλ‘μ΄ νμΌμ μΆκ° νλ€κ±°λ μΆκ°ν νμΌμ λ΄μ©μ λ³κ²½νμ¬ κ·Έ λ΄μ©μ μ μ₯(컀λ°, Commit)νλ κ²μ λͺ¨λ 'master' λΌλ μ΄λ¦μ λΈλμΉλ₯Ό ν΅ν΄ μ²λ¦¬
'master'κ° μλ λ λ€λ₯Έ μλ‘μ΄ λΈλμΉλ₯Ό λ§λ€μ΄μ μ¬μ© μ μΈ(체ν¬μμ, checkout)νμ§ μλ μ΄μ, λͺ¨λ μμ μ 'master' λΈλμΉμμ μ΄λ£¨μ΄μ§.
gitμ μ격 μ μ₯μμ λ€μ΄κ°λ©΄ branch νμΈ κ°λ₯

branch κ΄λ ¨ λͺ λ Ήμ΄
- git branch : νμ¬ λΈλμΉ λͺ©λ‘ 보μ¬μ€, λΈλμΉκ° μ¬λ¬κ°μΈ κ²½μ° νμ¬ μ¬μ©μ€μΈ λΈλμΉ μμ * λΆμ.

- git branch μλ‘ μμ±ν branchλͺ : μλ‘μ΄ branch μμ±
branchλ₯Ό μμ±νλ©΄ μμ λ¬Όμ΄ λ³΅μ¬λμ΄ μλ‘μ΄ λ²μ μ΄ μκΈ°λ κ²!

- git checkout μ¬μ©ν λΈλμΉλͺ : νμ¬ μ¬μ© λΈλμΉ μ΄λ

μ€νλ§ νλ‘μ νΈ λͺ©λ‘ μμμλ branch νμΈ κ°λ₯

- git checkout-b μλ‘ μμ±ν λΈλμΉλͺ : λΈλμΉλ₯Ό μμ±νκ³ μ¬μ© λΈλμΉλ‘ λ°λ‘ μ΄λ

κΉ νμ€νν°λΈλ‘ μ΄λνλ©΄ νλ¨μ historyμμλ νμ¬ μ¬μ©νλ branchμ μμ±λ branch λͺ©λ‘ νμΈ κ°λ₯

μ€μ λ‘ λ 립μ μΈ μ μ₯μλ₯Ό μ¬μ©νλμ§ νμΈν΄λ³΄λ μμ
λΈλμΉλ₯Ό test1μΌλ‘ μ΄λ
μμ
TestControllerμ λ©μλ νλ μμ± λ° test.html μμ±

μμ μλ£ ν git add . λͺ λ Ήμ΄λ‘ μ₯λ°κ΅¬λμ λ΄κ³ μ μ₯μμ 컀λ°

test2λ‘ λΈλμΉ μ΄λ

νλ‘μ νΈ λ³΄λ©΄ test1μμ μμ ν μμ λ¬Ό μλ κ² νμΈ κ°λ₯!

test2 branchμμ μμ
test2.html μμ± ν 컀λ°


λΈλμΉ λ³ν©
dev λΈλμΉμ test1, test2 λΈλμΉ λ³ν©
dev λΈλμΉλ‘ μ΄λ

- git merge λ³ν©ν branchλͺ : ν΄λΉ branchμ κ°κ°μ branchμμ μ μ₯ν κ²λ€ λ³ν©

λ³ν©κΉμ§ λ¬Έμ μμ΄ λλ€λ©΄ μ΅μ’ μ μΌλ‘ master λΈλμΉμ μ μ©.
master λΈλμΉλ‘ μ΄λ

dev branch λ³ν©νλ©΄ μ΅μ’ μ μΌλ‘ masterμ λͺ¨λ μμ λ¬Ό λ³ν©λ¨!

μ΅μ’ νλ‘μ νΈ gitμ μ λ‘λ
- git push origin master : κΉμ master branchμ μ격μ μ₯μμ μ λ‘λ

git μ격 μ μ₯μ νμΈν΄λ³΄λ©΄ μ λ‘λ νμΈ κ°λ₯.

κ°κ°μ μ μ₯μμ μ΅μ’ μμ λ¬Ό μ μ₯λ master λΈλμΉ λ³ν©νμ¬ λͺ¨λ λΈλμΉ μ΅μ μ λ°μ΄νΈ
test1 λΈλμΉλ‘ μ΄λ
λ§μ€ν° λΈλμΉ λ³ν©

test2 λΈλμΉ μ΄λ
λ§μ€ν°λΈλμΉ λ³ν©

νμ¬κΉμ§ test1, test2, dev λΈλμΉ μ΅μ μμ€ λ°μλμ΄ μ λ°μ΄νΈ λ μν!
μμ μλ£λ test1, test2 λΈλμΉλ€μ μμ 
- git branch -d μμ ν λΈλμΉλͺ : λΈλμΉ μμ 
ν΄λΉ λΈλμΉ μμ  ν λμΌν μ΄λ¦μΌλ‘ λΈλμΉ μμ±ν΄μ λ€μ μμ
| git μμ μμ | 
| git branch μ¬μ©ν λΈλμΉλͺ
(test1) git checkout μ¬μ©ν λΈλμΉλͺ (test1) μμ ν git add . git commit -m "컀λ°λ©μμ§" git checkout dev git marge λ³ν©ν λΈλμΉλͺ (test1) git push origin dev git checkout master git merge dev git push origin master > λν νλͺ λ§ git branch -d μμ ν λΈλμΉλͺ (test1) **λ€μ μμ ν λ devμμ μ΅μ μμ€ λ΄λ € λ°μμ μμ ν λΈλμΉλͺ κ³Ό λμΌνκ² μμ±νμ¬ λ€μ μμ  | 
κΉ μ λ‘λ μΆ©λ
test2 λΈλμΉμμ λ€μ μμ
TestControllerμ λ©μλ μμ±.

μ μ₯μμ 컀λ°!

λ€λ₯Έ μμ μκ°(test1 λΈλμΉμμ) TestControllerμμ λκ°μ΄ μμ

μμ ν 컀λ°

dev λΈλμΉλ‘ μ΄λνμ¬ test1 λΈλμΉ λ³ν©

test2λ λ³ν©

devμμ TestController보면 μ λ³ν©λ¨.
μΆ©λ X
κ°μ νμΌμ κ°μ μ€μ 건λλ¦¬μ§ μμ κ²½μ°μλ μΆ©λ X

λ³ν© μΆ©λ μκΈ°λ κ²½μ°
test1 λΈλμΉμμ μΈλ±μ€ νμΌ 9λ²μ§Έ μ€μμ μμ

컀λ°

test2 λΈλμΉμμλ μμ
test1 λΈλμΉμ κ°μ μΈλ±μ€ νμΌ 9λ²μ§Έ μ€ μμ ν 컀λ°

devλ‘ μ΄λνμ¬ test1, test2 λΈλμΉ λ³ν©
test1 λΈλμΉ μ±κ³΅μ μΌλ‘ λ³ν©λ¨

test2 λΈλμΉ λ³ν© μ€λ₯!
(λ¨Όμ  mergeν κ²μ λ¬Έμ  μμ΄ λ³ν©, λ¦κ² λ³ν©ν λΈλμΉλ μΆ©λ λ°μ)

μΈλ±μ€ νμΌ νμΈν΄λ³΄λ©΄ μλμ²λΌ μΆ©λ λ΄μ© 보μ.

μΆ©λ μμ νλ λ²
μΆ©λ λ΄μ© μ§μ°κ³ μμ 

μμ  ν 컀λ°

λͺ λ Ήμ΄ μ€ν ν μΆ©λ μ¬λΌμ§ κ² νμΈ κ°λ₯!

'git' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| git - νλ‘μ νΈ μ λ‘λ (0) | 2023.05.10 | 
|---|---|
| κΉ(git) - νμκ΄λ¦¬λꡬ (0) | 2023.05.09 |