Git Merge
μλ‘ λ€λ₯Έ λΈλμΉλ₯Ό νλλ‘ ν΅ν©νλ Gitμ ν΅μ¬ λͺ
λ Ήμ΄λ‘, λΈλμΉ κ°μ λ³κ²½ μ¬νμ νλμ λΈλμΉλ‘ κ²°ν©ν©λλ€.
Git Merge λͺ λ Ήμ΄
κΈ°λ³Έ λͺ λ Ήμ΄
git merge [λΈλμΉλͺ
]
Bash
볡μ¬
νμ¬ λΈλμΉ | λͺ
λ Ήμ΄ | μ μ© λ°©ν₯ | μ€λͺ
|
aloha | git merge main | main | main μ λ³κ²½ μ¬νμ aloha μ λ³ν©ν©λλ€. |
main | git merge aloha | aloha | aloha μ λ³κ²½ μ¬νμ main μ λ³ν©ν©λλ€. |
λ³ν© μ»€λ° λ©μμ§ μμ±
git merge -m "μ»€λ° λ©μμ§" [λΈλμΉλͺ
]
Bash
볡μ¬
Fast-forward λ³ν©
git merge --ff [λΈλμΉλͺ
]
Bash
볡μ¬
Fast-forward λ³ν©μ νμ¬ λΈλμΉμ λ³ν©νλ €λ λΈλμΉκ° μ§μ μ μΈ κ΄κ³μΌ λ μ¬μ©λλ λ³ν© λ°©μμ
λλ€. μ¦, ν λΈλμΉκ° λ€λ₯Έ λΈλμΉλ³΄λ€ μ΅μ μΈ μνμμ λ³ν©μ΄ μ΄λ£¨μ΄μ§λλ€.
Fast-forward λ³ν©μ νΉμ§:
β’
μλ‘μ΄ λ³ν© 컀λ°μ μμ±νμ§ μκ³ λΈλμΉ ν¬μΈν°λ§ μ΄λν©λλ€.
β’
νμ€ν λ¦¬κ° λ¨μνκ³ κΉλνκ² μ μ§λ©λλ€.
β’
λΈλμΉ κ°μ λ³κ²½ μ¬νμ΄ μΆ©λνμ§ μμ λλ§ κ°λ₯ν©λλ€.
Fast-forward λ³ν©μ΄ λΆκ°λ₯ν κ²½μ°:
β’
λ λΈλμΉκ° μλ‘ λ€λ₯Έ 컀λ°μ κ°μ§κ³ μμ λ
β’
λ³ν©νλ €λ λΈλμΉλ€μ΄ λΆκΈ°λ μ΄ν κ°κ° μλ‘μ΄ μ»€λ°μ΄ μλ κ²½μ°
# Fast-forward λ³ν© κ°μ λ‘ λΉνμ±ν
git merge --no-ff [λΈλμΉλͺ
]
# Fast-forward λ³ν©λ§ νμ© (λ³ν© λΆκ°λ₯ν κ²½μ° μ€ν¨)
git merge --ff-only [λΈλμΉλͺ
]
Bash
볡μ¬
Merge μ΅μ
μ΅μ
| μ€λͺ
|
--ff | Fast-forward λ³ν© μν (κΈ°λ³Έκ°) |
--no-ff | νμ μλ‘μ΄ λ³ν© μ»€λ° μμ± |
--squash | λΈλμΉμ λͺ¨λ 컀λ°μ νλλ‘ μμΆνμ¬ λ³ν© |
--abort | λ³ν© μΆ©λ μ λ³ν© μμ
μ·¨μ |
--continue | μΆ©λ ν΄κ²° ν λ³ν© κ³μ μ§ν |