μλ νμΈμ! νμ κ°λ°μ νμ μμμ΄μ, νλ‘μ νΈμ μλͺ μ€κ³Όλ κ°μ λ²μ κ΄λ¦¬μ κ·Έ ν΅μ¬ λκ΅¬μΈ Git λΈλμΉ μ λ΅μ λν΄ μ½κ³ κΉμ΄ μκ² μμλ³΄κ² μ΅λλ€.
λ²μ κ΄λ¦¬ μμ€ν (Version Control System)μ μκ°μ νλ¦μ λ°λΌ νμΌμ λ³κ²½ μ¬νμ κΈ°λ‘νκ³ κ΄λ¦¬νλ λꡬμ λλ€.
Gitμμ λΈλμΉλ λ 립μ μΈ μμ 곡κ°μ μλ―Έν©λλ€.
Gitμ νμ©ν λΈλμΉ μ λ΅μ λ€μνμ§λ§, κ°μ₯ λ리 μ°μ΄λ©° μμ μ μΈ Git-Flowμ κ·Έ ν΅μ¬ μμ΄λμ΄λ₯Ό μ°¨μ©ν GitHub Flowμ λ§μ΄λ κ΄μ μ κΉμ΄ μκ² μ΄ν΄λ³΄κ² μ΅λλ€.
Git-Flowλ νλ‘μ νΈμ 볡μ‘λκ° λκ³ , μ격ν λ¦΄λ¦¬μ¦ κ΄λ¦¬κ° νμν λ μ¬μ©λλ μ λ΅μ λλ€.
| λΈλμΉ μ΄λ¦ | μν | νΉμ§ |
| master / main | μ΄μ νκ²½ (λ°°ν¬ μ½λ) | κ°μ₯ μμ μ μΈ λΈλμΉ. μ΅μ’ 릴리μ¦λ μ½λλ§ κ΄λ¦¬νλ©°, μ΄ λΈλμΉμ μ§μ 컀λ°νλ κ²μ β κΈμ§μ λλ€. |
| develop | ν΅ν© κ°λ° νκ²½ (λ€μ λ²μ μ€λΉ) | λͺ¨λ κ°λ° μμ μ μ€μ¬μ΄ λ©λλ€. μλ‘μ΄ κΈ°λ₯ λΈλμΉλ€μ μ΄ λΈλμΉμμ μμνμ¬ λ€μ μ΄ λΈλμΉλ‘ ν΅ν©λ©λλ€. |
| feature/ | κΈ°λ₯ κ°λ° | μλ‘μ΄ κΈ°λ₯ νλλΉ νλμ© μμ±λλ λΈλμΉ. developμμ μμνμ¬ κ°λ° μλ£ ν developμΌλ‘ Merge λ©λλ€. |
| release/ | μΆμ μ€λΉ | develop λΈλμΉκ° λ€μ λ²μ μΆμ μ€λΉκ° λλ©΄ μμ±λ©λλ€. λ²κ·Έ μμ , λ²μ μ 보 μ
λ°μ΄νΈ λ± μ΅μ’
μμ ν μμ
λ§ μ§νλ©λλ€. |
| hotfix/ | κΈ΄κΈ λ²κ·Έ μμ | master/main λΈλμΉμ μλ μ΄μ νκ²½μ λ²κ·Έλ₯Ό μ¦μ μμ νκΈ° μν΄ μμ±λ©λλ€. μμ ν master/mainκ³Ό develop λͺ¨λμ λ°μλμ΄μΌ ν©λλ€. |
develop λΈλμΉμμ feature/μκΈ°λ₯ λΈλμΉλ₯Ό λ§λλλ€.feature/μκΈ°λ₯μ λ€μ developμΌλ‘ λ³ν©ν©λλ€.develop λΈλμΉμ μ½λλ₯Ό release/λ²μ λΈλμΉλ‘ λΆκΈ°νμ¬ μ΅μ’
ν
μ€νΈ λ° μμ ν μμ
μ κ±°μΉ©λλ€.release/λ²μ μ΄ μμ λλ©΄, master/main λΈλμΉμ develop λΈλμΉ λͺ¨λμ λ³ν©νμ¬ λ€μ κ°λ°μ μ€λΉν©λλ€.GitHub Flowλ μ§μμ μΈ λ°°ν¬(Continuous Deployment)κ° μ€μνκ³ , Git-Flowμ 볡μ‘ν κ΅¬μ‘°κ° λΆλ΄λ λ μ¬μ©λ©λλ€.
main λΈλμΉμμ feature/κΈ°λ₯λͺ
λΈλμΉλ₯Ό μμ±ν©λλ€.feature/κΈ°λ₯λͺ
λΈλμΉλ₯Ό main λΈλμΉμ μ¦μ λ³ν©νκ³ , λ³ν© μ§ν μ΄μ νκ²½μ λ°°ν¬ν©λλ€.developμ΄λ release λΈλμΉκ° λ°λ‘ μμ΅λλ€. λͺ¨λ μμ
μ΄ mainμ μ€μ¬μΌλ‘ μ΄λ£¨μ΄μ§λ©°, PRκ³Ό μ½λ λ¦¬λ·°κ° μ격ν νμ§ κ΄λ¦¬λ₯Ό λ체ν©λλ€. κΈ΄κΈ μμ (Hotfix)λ μΌλ° κΈ°λ₯ κ°λ°μ²λΌ mainμμ λΈλμΉλ₯Ό λ°μ μμ ν λ€μ mainμΌλ‘ Merge λ©λλ€.feature/user-login, bugfix/crash-on-checkout)master/main)μ΄ λ λ ν
μ€νΈμ λ°°ν¬κ° μλμΌλ‘ μ΄λ£¨μ΄μ§λλ‘ μμ€ν
μ ꡬμΆνλ©΄ μμ μ±μ΄ κ·Ήλνλ©λλ€.λ²μ κ΄λ¦¬μ λΈλμΉ μ λ΅μ λ¨μν λκ΅¬κ° μλλΌ, ν¨μ¨μ μΈ νμ λ¬Ένλ₯Ό λ§λλ κΈ°λ°μ λλ€. μ΄ κ°λ λ€μ μμ§νκ³ μ μ©νμ¬ μμ μ μΈ κ°λ° νκ²½μ ꡬμΆν΄ 보μΈμ!
λ‘컬 λ€νΈμν¬ νκ²½μ μ‘°κΈμ΄λΌλ λ€λ€λ³Έ μ¬λμ΄λΌλ©΄ ν λ²μ―€μ λ§μ£ΌμΉλ μ΅μν λ¨μ΄κ° μμ΅λλ€. λ°λ‘ NetBIOSμ NBTμ λλ€.…
μλ νμΈμ! νλ μΉ κ°λ°μμ λ°μ΄ν° κ΅νμ ν΅μ¬μΈ JSON(JavaScript Object Notation)μ λμ± κ°λ ₯νκ³ μμ μ μΌλ‘ λ§λ€μ΄μ£Όλ λꡬ,…
β ECMAScript 3(E3)λ 무μμΌκΉ ECMAScript 3λ 1999λ μ 곡μνλ μλ°μ€ν¬λ¦½νΈ νμ€μ΄λ€. μ§κΈ 보면 μ€λλ κΈ°μ κ°μ§λ§,…
CoffeeScriptλ νλ νλ‘ νΈμλ κ°λ° μνκ³μμ λ§€μ° μΈκΈ° μμλ μΈμ΄μκ³ , μ§κΈλ νΉμ νλ‘μ νΈλ λ κ±°μ μμ€ν , κ°κ²°ν…
νλμ μΈ νλ‘κ·Έλλ° νκ²½μμ λ©λͺ¨λ¦¬ λμ(Memory Leak)λ μ¬μ ν μ ν리μΌμ΄μ μ μ±λ₯ μ νμ μΆ©λμ μΌμΌν€λ μ£Όμ μμΈ μ€…
(Critical Rendering Path, ν΅μ¬ λ λλ§ κ²½λ‘ μλ²½ μ΄ν΄) μΉ λΈλΌμ°μ μ μ£Όμλ₯Ό μ λ ₯νκ³ μν°λ₯Ό λλ₯΄λ μκ°,…