[Git] Git flow
git flow
배포했거나 배포할 코드만 master 브랜치에 Merge 해서 안정 버전의 코드만 master 브랜치에 둔다. 개발을 진행하고 안정화하는 브랜치는 develop라는 이름으로 추가로 만들어 사용한다. 이 브랜치는 언젠가 안정 상태가 되겠지만, 항상 안정 상태를 유지해야 하는 것이 아니다. 테스트를 거쳐서 안정적이라고 판단되면 master 브랜치에 Merge 한다.
개발 과정에서 여러 개의 기능을 동시에 추가하는 경우 develop 브랜치를 기준으로 feature/{name} 브랜치들을 떼서 진행하고 develop과 merge 후 QA 테스트를 거치고 안정화되면 master와 merge한다.
단, 호흡이 짧은 topic을 다루는 branch의 경우 local에서만 개발하고 remote로 redundant branch를 push하지 않는다.
develop 또는 feature/{name}에서 개발하던 중 master에서 급히 해결해야하는 문제가 발생한 경우 master에서 hotfix를 떼서 수정한다. 약간의 여유가 있다면 develop과 merge 후 master와 merge 후 배포, 여유가 없다면 master에 merge 후 배포한다.