[GitHub] GitFlow 란

dsfasdfsfsfds·2022년 4월 12일
1

안녕하세요 제제로 입니다! 😄
오늘은 GitFlow라는 방법론에 대해서 이야기해 보려고 합니다.
저는 그동안 Repository를 누구와 같이 사용해본 경험이 별로 없습니다.
따라서 그동안 master branch 하나만 생성하고 따로 새로운 branch를 만들지 않고 개발해왔는데요.
이번에 CMC라는 동아리를 진행하면서 다른 개발자분들 GitHub을 몰래몰래 들여다 보니(뭔가 잘못한 기분 ㅎㅎ...)
feature branch를 따로 생성해서 개발하고 merge 하는 방식으로 개발하시는 분도 계시더라고요.
그 모습을 보고 feature branch는 정확히 어떤 용도로 사용하는 branch인지 궁금해서 검색하다 보니 GitFlow라는 방법론에 대해서 알게 됐고 한번 이야기해 보려고 합니다.


GitFlow 란?

Repository를 여러 개발자가 공동으로 사용할 때 협업하면서 수많이 브런치들이 생겨난다. 이때 branch 들을 효율적으로 관리하기 위한 규칙이나 정책이 필요하다.
그것이 바로 GitFlow 이다.

GitFlow Branch 종류(5가지)

  • Master
  • Develop
  • Feature
  • Hotfix
  • Release

1. Master Branch

배포를 위한 Branch라고 합니다.
제품으로 출시될 수 있는 상태를 관리하는 branch로 배포 이력을 관리하기 위해 사용합니다.

2. Develop Branch

다음 버전 출시를 위해 기능 개발을 위한 브런치들의 병합을 위해 사용됩니다.
모든 기능 개발이 완료되면 develop branch를 master branch로 병합하고 출시하게 됩니다.
평소에는 이 Branch에서 작업이 진행됩니다.

3. Feature Branch

기능 개발을 위한 Branch입니다.
feature branch는 새로운 기능 개발이나 오류 수정을 해야 할 때 develop branch에서 분기되어서 독립적으로 작업이 이루어지는 branch입니다. 작업이 완료되면 develop branch로 병합합니다.

  • Feature Branch Naming
    • feature/기능 ex) feature/login

4. Release Branch

출시를 준비하는 Branch 입니다.
배포 준비를 위한 Branch로 사용되고 한 팀이 배포를 준비하는 동안 다른 팀은 계속 개발할 수 있기 때문에 용이합니다. 새로운 기능을 merge 하지 않고 배포를 위해 최종적인 버그 수정, 문서 추가 등 release와 직접적으로 관련된 작업을 수행합니다. 출시 준비가 완료되면 master branch에 병합하고 develop branch에도 병합한다.

5. Hotfix Branch

출시 버전에서 빠르게 수정해야 할 때 사용하는 Branch입니다.
출시 버전(Master Branch)에서 긴급하게 수정해야 할 때 develop Branch가 아닌 Master Branch에서 분기되어서 필요한 부분만 빠르게 수정하고 master Branch에 병합하여 배포하기 위해 사용된다.


마무리

나도 앞으로는 이런 방식들을 지켜가면서 개발을 해봐야겠다고 생각이 들었다.
회사에 가서 실무를 할 때도 아마 이런 방식으로 협업하지 않겠느냐는 생각이 든다.
소규모 프로젝트에서 Feature Branch WorkFlow 방법을 사용한다는데 이것도 나중에 알아봐야겠다.
실제 프로젝트에 사용해보고 글 올려보도록 하겠습니다!

감사합니다 😊
건강한 지적은 언제나 환영합니다

profile
fdsafsdafsda

0개의 댓글