상세 컨텐츠

본문 제목

[프로젝트] Git Flow를 사용해볼까?

해커톤 프로젝트

by young1403 2022. 8. 15. 16:07

본문

1. Git Flow란?


git flow는 git으로 형상관리를 할 때 브랜치를 효율적으로 관리하기 위해 사용하는 브랜치 관리 전략(Branch management strategy)입니다.

 

 

 

2. Git Flow를 왜 사용해야 하나?


 

지금 프로젝트를 진행하는 github을 통한 협업 방식은 다음과 같았습니다.

 

1. 프로젝트 작업 전 항상 master에서 본인의 브랜치로 최신화를 한다.
2. 프로젝트 작업 후 git commit, push 후 본인의 브랜치에서 팀 master 브랜치로 PR을 보낸다.
3. 2명 이상의 팀원들이 PR변경사항을 확인하면 Merge를 진행한다.
(다른 팀원들이 최신화를 위한 Merge를 기다려야 하는 단점 발생 -> 개발 속도가 너무 늦춰져 버림)
4. 최신화 완료.

 

현재 부트캠프는 평일 4시까지 수업이 진행되고, 그 이후 개인 공부시간에 그날의 수업 복습, 알고리즘 공부, 프로젝트까지 진행합니다.

'어느 시간에 무조건 프로젝트 개발을 하자(이때 올라오는 pr은 즉각 반응하도록)'이란 규칙을 정하기엔 너무 강압적이기도 하고

하루 종일 수업이 진행된 후 집중력이 떨어질 시간이라, 개발 스케줄을 맞추기가 여러모로 쉽지 않은 상황이었습니다.

 

그런데 프로젝트를 진행시켜가면서 다른 팀원의 도메인에 추가할 코드 요청을 하는 상황이 많아졌습니다. 이러한 상황에서 위와 같은 방식으로 협업을 진행하다 보니 팀원에게 코드 추가/수정 등 요청을 주거나 할 때도 메시지 확인, 코드 수정, pr, 팀원들의 pr체크, merge까지 진행되는 최신화 방식은 여러 불편함을 느끼게 만들었습니다.

 

그러던 중 git flow라는 것을 접하여 생활코딩 영상을 보며 개념이 무엇인지 깨닫고, 프로젝트 팀장 역할을 맡으신 분과 간단하게 얘기 후 다음날 Test용 프로젝트로 실험을 해보니 즉각적으로 코드 수정분을 확인할 수 있어서 협업에서 소비했던 시간적인 비용이 많이 줄어들어 개발 속도가 더 빨라질 것 같단 생각을 하게 되었습니다. 팀원들도 조금 자잘할 불편함들이 많이 사라진 것 같다고 반응도 좋아 GitFlow방식으로 개발을 진행할 것 같습니다.

 

Git Flow 전략은 다음과 같이 5가지의 브랜치로 나누어 작업을 진행하게 되는데 아직 다들 깃, 프로젝트 모두 익숙하지 않아 적응할 시간이 조금 필요하겠지만 부딪히면서 많이 배울 수 있을 것 같습니다.

  • master : 제품으로 출시될 수 있는 브랜치
  • develop : 다음 출시 버전을 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
  • release : 이번 출시 버전을 준비하는 브랜치
  • hotfix : 출시 버전에서 발생한 버그를 수정하는 브랜치

 

 

 

 

관련글 더보기

댓글 영역