Git & Github

[ Git, Github ] Git ν˜‘μ—… ν”Œλ‘œμš° μ’…λ₯˜, Git-flow

Forest Yun 2021. 9. 24. 00:02
728x90

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.

 

 

 

 

Gitκ³Ό Github

  1. Git ν˜‘μ—… ν”Œλ‘œμš°
  2. 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
728x90