본문 바로가기

Git

[Git] Github flow

git 브랜치 전략이란?

협업 시에 브랜치를 효과적으로 관리하기 위한 전략.

github flow는 브랜치 전략 중 하나이다.

 

hotfix, master(main), release, develop, feature 등 여러 개의 브랜치를 사용하는 git flow와 다르게, github flow는 master(main), feature 단 두 가지의 브랜치만 사용한다.

 

git flow가 master에서 버전을 안정적으로 관리할 수 있었다면 github flow는 feature에서 merge하면 바로 master branch이기 때문에 버전을 따로 관리하지 않는다. 크게 버전의 구분이 없는 웹 개발에서 주로 사용한다.

 

브랜치 merge 작업을 github에서 실시하게 된다. 이런 검증의 절차가 특징이다.

그리고 그 검증이 바로 Pull Request.

검증은 매우 꼼꼼하게 진행해야 한다. 그렇지 않은 경우에는 잘못된 코드가 바로 master 브랜치로 이동하게 되고, 배포될 것이다.

 

비록 Owner가 권한을 갖고 있을지라도, Owner는 upstream을 수정하는 것을 지양하고 검증의 역할을 맡아야 한다.

 

모든 member는 upstream을 수정하기 위해  Pull Request를 거쳐야 한다.

또한 기능 개발에 들어가기 전에 Issue를 반드시 남겨야 하고, 컨펌을 받아야만 진행할 수 있다.

 

 


Reference

브랜치 전략

git flow vs github flow