git의 branch 전략

휴먼스케이프

안녕하세요. 휴먼스케이프 ted 입니다.

git에는 여러 브랜치 전략들이 있는데요. 크게 git-flow와 github-flow가 있는데, 이 둘의 차이점을 간단하게 요약해보려고 합니다.

Git-flow

다음과 같은 브랜치를 사용합니다. master : 배포가 바로 가능한 브랜치 develop : 개발 브랜치 features : 주로 기능개발할때 쓰는 브랜치 hotfix : 배포된 버전의 버그를 긴급하게 수정하는 브랜치 release : 배포 버전을 fix 하고 배포를 준비하는 브랜치

보통 기능 개발을 하고 배포하기 때문에 merge순서는 feature -> develop -> release -> master 로 진행됩니다. (hotfix는 따로)

주로 자주 쓰이는 그림인데, 아래와 같이 하나의 그림으로 이해하시면 됩니다.

Github-flow

git-flow를 모두 지키기 쉽지 않기 때문에(또는 번거롭기 때문에) github-flow도 사용합니다.

master를 주로 사용하고 나머지 브랜치는 기능에 대한 이름을 가진 (예: new-store-feature) 를 만듭니다.

master는 항상 배포 가능한 상태를 유지한다는 점과 충분히 테스트 한 뒤에 merge를 해야하는것 외에는 다른 브랜치를 만드는것에 대해서는 비교적 자유롭습니다.

git-flow, github-flow에 대한 설명들은 많은 분들이 잘 해주고 계셔서 저도 아래 참고 링크들을 많이 참고했습니다. 링크를 통해 봐주셔도 도움될것 같습니다 :)

참고 https://gmlwjd9405.github.io/2018/05/11/types-of-git-branch.html https://hellowoori.tistory.com/56 https://lucamezzalira.com/2014/03/10/git-flow-vs-github-flow/ https://nvie.com/posts/a-successful-git-branching-model/ https://jojoldu.tistory.com/268 http://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html

기업문화 엿볼 때, 더팀스

로그인

/