Git Flow에 대해 알아보자

몽루문·2023년 2월 2일
2

Git

목록 보기
1/2
post-thumbnail

📝 Git Flow 대한 접근 계기

실무에서 SVN을 사용하다가 Git으로 넘어오면서
Git Flow에 대해 관심이 생겨서 정리를 하려고 한다.




📝 Git Flow 란 ?

■ 정의

직역 하여 흐름이라는 의미로서 Git 에서 제공하는 강력한 브랜칭 기능을 활용한 소스 변경 이력 관리 전략

■ 예시 사진

  • Git Flow 하면 가장 유명한 배민에서 사용하고 있는 Git Flow 사진이다.




📝 Git Flow branch 에 대하여

■ main branch ( = master branch )

  • 제품으로 출시될 수 있는 branch
  • main branch 의 최신 버전은 언제나 실행이 가능한 프로그램이다.

■ develop branch

  • 현재 개발하고 있는 branch
  • 단독 프로젝트라면 이 브랜치에 직접적으로 commit 하여도 상관없지만 협업 중이라면 feature 브랜치를 활용하여야 한다.
  • Release 하게되면 release branch 로 Merge 한다.
  • 프로젝트를 배포하게 된다면 main 브랜치로 merge 한다.

■ feature branches

  • 기능별 개발이 이루어지는 branch
  • 다른 branch 들과는 다르게 feature branch 는 N개 존재할 수 있다.
  • 프로젝트 협업 시 feature_기능명 으로 분기시켜서 다중 작업이 가능하도록 한다.
  • 각자 맡은 부분이 개발이 완료되면 자신이 개발한 feature_기능명 branch 를 develop 브랜치로 merge 한다.

■ hotfixes branch

  • 급한 버그 수정이 이루어지는 branch
  • Release 직전에 버그가 발생되는 경우 분기되는 branch 이다.
  • 배포 후 현장에서 갑자기 치명적인 버그가 발생하는 분기되는 branch 이다.
  • 수정이 완료되면 분기를 시작한 branch 로 merge 한다.

■ release branch

  • 프로젝트의 배포는 아니지만 개발이 완료되었을 경우 사용하는 branch
  • 개발이 완료되어 실행이 가능한 프로그램이다.



📌 마무리

현재 실무에서 완벽하게 사진과 똑같이 Git Flow 를 사용하진 않지만,
Git Flow에 대한 개념이 도입이 되고 유동적으로 사용함으로서 팀원들과의 협업이 훨씬 효율적으로 변한 것을 체감하고 있다.

profile
알고 있는 것을 정리하고, 새로운 것을 알기위해 끄적이는곳..

0개의 댓글