기록과 정리

Git 협업 - branch(feature) 생성 & git flow 본문

IT/버전관리

Git 협업 - branch(feature) 생성 & git flow

zepetto 2021. 2. 6. 16:18

Git을 사용한다는 것 , 여러가지 이유가 있겠지만 branch 전략을 이용한 git flow 활용이 아닐까 생각이 됩니다.

점점 여러 기업에서 git의 사용량이 늘어나고 있습니다..

 

구글 트랜드 검색 비교

위는 구글 트랜드에서 2020년 작년 한국에서 git과 svn의 관심도 추이 그래프를 찾아보았다. 파란색이 깃, 빨간색이 svn이다. 

 

브랜치 (branch) ? 

 

자 본론으로 넘어와서 branch는 '독립적인 작업을 이루기 위한 개념' 이다. 독립적이다라는 단어에 집중을 해서 

독립적으로 다른 소스를 작업하고 싶을 때, 브랜치를 하나 생성 ( 딴다는 은어(?)도 사용 ) 을 한다. 생성된 브랜치에서 작업을 하다가 작업이 종료되는 시점에 Merge ( 병합 )을 하는 데 GitHub에는 Pull Request, GitLab에서는 Merge Request라는 용어로 병합요청을 보내고 요청이 수락되기 전까지 우리는 코드 리뷰라는 과정을 거치게 된다.

 

Git Flow

 

git flow란 무엇일까?

git flow 전략

위에서 보는 flow 전략이 일반적으로 말하는 git flow이다. 하지만 기업마다, 프로젝트 마다 상이한 부분이 있지 대부분 기본틀을 가져와서 조금 변형하는 방식으로 하니 이 방식을 잘 기억해보자.

 

각 브랜치마다 정리를 해보면 다음과 같다

 

Main ( or Master -> 인종차별 이슈로 인해 명칭이 변경되었습니다. ) - 운영 관리 브랜치 . 클라이언트에 가장 가까운 브랜치

Develop - 개발 관리 브랜치 . 기능 개발에 집중된 작업 개념의 브랜치로 볼 수 있다.

hotfixes - 운영 중에 치명적인 버그가 발생되었을 때 , 해당 브랜치를 생성하여 cherry pick과 같은 기능을 사용하여

                merge 및 관리를 하는 브랜치 

release - 새로운 출시 버전을 관리하는 브랜치. 출시된 기존 버전 외에 해당 브랜치에서 작업을 하다 Main 으로 병합이 될 수 있다.

*feature - 기능 개발을 위한 브랜치. 주로 새로운 작업을 위한 브랜치로 생성이 된다.

 

Fork 에서 branch 생성

fork 툴

fork 툴 사이바에 branch를 우클릭하면 다음과 같이 'Create New Branch'가 보인다.

feature 를 만들어보자

feature라는 폴더 아래 '유상문-4주차' 라는 브랜치를 만들겠다는 것이다.

브랜치가 생성됐다.

다음과 같이 브랜치가 생성되고 한번 더블클릭을 해주면 check out ( 해당 브랜치로 이동 )이 될 것이다. 

 

우리는 로컬 레포지토리에 새로운 feature branch를 만들었다. 이 순간부터 작업을 시작해주면 되고 작업이 끝이 난 이후, 원격의 레포지토리로 push 및 merge request 를 진행하는 방법을 소개하겠다.