[ Git, Github ] Git νμ νλ‘μ° μ’ λ₯, Git-flow
곡λΆν λ΄μ©μ μ 리ν κΈμ λλ€.
Gitκ³Ό Github
- Git νμ νλ‘μ°
- Git-flowλ?
1. Git νμ μν¬νλ‘μ°
1.1 Centralized workflow λ¨μΌ μ€μ μ μ₯μ μ§μ€ν
λ¨μΌ μ€μ μ μ₯μμ master λΈλμΉλ₯Ό μ΄μ©ν μν¬ νλ‘μ°
1.2 Feature Branch Workflow
κΈ°λ₯λ³ λΈλμΉλ₯Ό λ§λ€μ΄ κ·Έ λΈλμΉμμλ§ μμ μ΄ μ΄λ£¨μ΄μ§λ€. μμ μ΄ λλλ©΄ κΈ°λ₯ λΈλμΉλ₯Ό master λΈλμΉλ‘ λ³ν©νλ€.
1.3 Gitflow Workflow
μλ μμΈν μ€λͺ μμ±.
1.4 Forking Workflow
νλ‘μ νΈ κ΄λ¦¬μμ νλ‘μ νΈ κ°λ°μλ₯Ό ꡬλΆνλ€. νλ‘μ νΈ κ°λ°μλ€μ 곡μ μ격μ μ₯μλ₯Ό forkνμ¬ κ° κ°μΈ λ³ μ격μ μ₯μλ₯Ό μμ±νμ¬ μ¬μ©νλ€. νλ‘μ νΈ κ΄λ¦¬μλ§μ΄ 곡μ μ격 μ μ₯μμ μ κ·Όν μ μλ€.
2. Git-flowλ?
λ°°ν¬ μ¬μ΄ν΄μ μ€μ¬μΌλ‘ λΈλμΉλ₯Ό ꡬμ±νμ¬ μμ μ μννλ€. κ° λΈλμΉλ§λ€ νΉμ ν μν κ³Ό μΈμ /μ΄λ»κ² κ° λΈλμΉλ€μ΄ μλ‘ μνΈμμ©ν μ§ μ μνμ¬ μ¬μ©νλ€.
λΈλμΉλ 5κ°μ§ μ’ λ₯κ° μλ€. νμ μ μ§λλ λ©μΈ λΈλμΉ master, develop μ΄ μμΌλ©°, μΌμ κΈ°κ°λμ μ μ§λμλ€κ° μ¬μ©μ΄ μλ£λλ©΄ μμ νλ 보쑰 λΈλμΉ feature, release, hotfix κ° μλ€.
master(main) | λ°°ν¬ μ΄λ ₯ κΈ°λ‘(νκ·Έ) | 릴리μ¦(λ°°ν¬)μ΄λ ₯μ κ΄λ¦¬νκΈ° μν΄ μ¬μ©νλ€. μ νμΌλ‘ μΆμλ μ μλ λΈλμΉ |
develop | κ°λ° λΈλμΉ | feature λΈλμΉλ€μ λ³ν©νλ λΈλμΉ. λ€μ μΆμ λ²μ μ κ°λ°νλ λΈλμΉ. master λΈλμΉμμ μμ±νλ€. |
feature | κΈ°λ₯ λΈλμΉ | κΈ°λ₯μ κ°λ°νλ λΈλμΉ. developμμ feature λΈλμΉλ₯Ό μμ±νλ€. feature λΈλμΉλ develop λΈλμΉμ μνΈμμ© νλ€. masterμλ μ΄λ ν μ°κ²°λ μλ€. |
release | λ°°ν¬ μ€λΉ λΈλμΉ (λ°°ν¬ μ λ²κ·Έ) |
λ°°ν¬ μΌμ μ΄ λλ©΄, develop λΈλμΉλ₯Ό κΈ°μ€μΌλ‘ λ°°ν¬λ₯Ό μν release λΈλμΉλ₯Ό μμ±νλ€. λ³΄ν΅ QA μ develop λΈλμΉμμ release λΈλμΉλ₯Ό μμ±νλ€. λ²κ·Έ μμ , λ¬Έμ μΆκ° λ± λ°°ν¬μ μ§μ μ μΌλ‘ κ΄λ ¨λ μμ μ μννλ€. λ°°ν¬κ° μλ£λλ©΄ master λΈλμΉμ λ³ν©νλ€. λ°°ν¬ μ€λΉλ₯Ό νλ λμ develop λΈλμΉκ° λ³κ²½λμμ μλ μμΌλ―λ‘ develop λΈλμΉμλ λ³ν©νλ€. λ³΄ν΅ release-* λλ release/* μΌλ‘ μ΄λ¦μ μ§λλ€. |
hotfix | μ μ§λ³΄μ λΈλμΉ (λ°°ν¬ ν λ²κ·Έ) |
λ°°ν¬ ν μκΈ΄ λ²κ·Έ λ±μ κΈ΄κΈ ν¨μΉλ₯Ό μ μ©νλ λΈλμΉ. masterμμ hotfix λΈλμΉλ₯Ό μμ±νλ€. 보μκ° μλ£λλ©΄ masterμ develop λΈλμΉμ λ³ν©νκ³ , μλ‘μ΄ λ²μ μΌλ‘ νκ·Ένλ€. |
μμΈν μ¬μ©μ κ³΅λΆ μλ£μλ 'μ°μν νμ λ€ κΈ°μ λΈλ‘κ·Έ : μ°λ¦° Git-flowλ₯Ό μ¬μ©νκ³ μμ΄μ'μ 'Git-flowλ₯Ό μ΄λ κ² νκ³ μμ΄μ' λΆλΆμμ νμΈνμ.
https://techblog.woowahan.com/2553/
μ°λ¦° Git-flowλ₯Ό μ¬μ©νκ³ μμ΄μ | μ°μννμ λ€ κΈ°μ λΈλ‘κ·Έ
{{item.name}} μλ νμΈμ. μ°μννμ λ€ λ°°λ―Όνλ‘ νΈκ°λ°νμμ μλλ‘μ΄λ μ± κ°λ°μ νκ³ μλ λλνΈμ λλ€. μ€λμ μ ν¬ μλλ‘μ΄λ ννΈμμ μ¬μ©νκ³ μλ Git λΈλμΉ μ λ΅μ μκ°νλ €κ³ ν©
techblog.woowahan.com
곡λΆμλ£
https://shilan.tistory.com/entry/κ°μΈ-νλ‘μ νΈ-Git-κ΄λ¦¬
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
https://nvie.com/posts/a-successful-git-branching-model/
μ°μν νμ λ€ κΈ°μ λΈλ‘κ·Έ : μ°λ¦° Git-flowλ₯Ό μ¬μ©νκ³ μμ΄μ https://techblog.woowahan.com/2553/
https://www.inbogi.com/bok/2020/04/1/
https://parkadd.tistory.com/m/101?category=967882