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 | μΆ©λ ν΄κ²° ν λ³ν© κ³μ μ§ν |
--allow-unrelated-histories | λ‘ κ΄λ ¨ μλ νμ€ν 리λ₯Ό κ°μ§ λ λΈλμΉλ₯Ό λ³ν© |
--allow-unrelated-histories μ΅μ
git merge --allow-unrelated-histories origin/main
Bash
볡μ¬
μ΄ μ΅μ
μ μλ‘ κ΄λ ¨ μλ νμ€ν 리λ₯Ό κ°μ§ λ λΈλμΉλ₯Ό λ³ν©ν λ μ¬μ©λ©λλ€.
μ£Όμ μ¬μ© μ¬λ‘:
β’
μλ‘μ΄ μ격 μ μ₯μλ₯Ό λ‘컬 μ μ₯μμ λ³ν©ν λ
β’
μμ ν λ
립μ μΌλ‘ μμλ λ νλ‘μ νΈλ₯Ό λ³ν©ν λ
β’
κ³΅ν΅ μ»€λ° νμ€ν λ¦¬κ° μλ λΈλμΉλ€μ ν΅ν©ν λ
κΈ°λ³Έμ μΌλ‘ Gitμ κ΄λ ¨ μλ νμ€ν 리λ₯Ό κ°μ§ λΈλμΉμ λ³ν©μ κ±°λΆν©λλ€. μ΄λ μ€μλ‘ μλͺ»λ μ μ₯μλ₯Ό λ³ν©νλ κ²μ λ°©μ§νκΈ° μν μμ μ₯μΉμ
λλ€. --allow-unrelated-histories μ΅μ
μ μ¬μ©νλ©΄ μ΄λ¬ν μ νμ μ°νν μ μμ΅λλ€.
# μμ: μ격 μ μ₯μμ main λΈλμΉλ₯Ό λ‘컬과 λ³ν©
git merge --allow-unrelated-histories origin/main
# μΆ©λμ΄ λ°μν κ²½μ° ν΄κ²° ν
git add .
git commit -m "λ³ν© μλ£"
Bash
볡μ¬


