Search

Git Flow / Trunk-based

Git Flow

문제가 생길수도 있기 때문에 main branch에 바로 개발을 하지는 않음 branch를 새로 개설해서 거기서 카피떠서 먼저 만듬 일반적을 develop로 이름을 만듬 여기서 또 참사가 일어날 수 있기 때문에 기능을 추가하고 싶으면 feature 브랜치를 만들고 거기서 작업한 후 합침 feature/기능명 를 만들어서 이것저것 테스트 해본 다음에 되면 디벨로프로 합침 디벨로프에서 합친 다음 또 이것저것 테스트를 release브랜치에서 한다음 완성되면 메인으로 합침 그리고 출시!
출시했는데 버그가 생겼다 그럼 급하니까 메인에서 브랜치를 하나 만들어서 hotfix 고쳐서 메인으로 합치고 배포
똑같이 쓸 필요는 없고 필요에따라 바꿔서 쓰면됨
장점: 안정적으로 버전별 배포가 가능하다
단점: 컨티뉴어스 딜리버리 할때는 적합하지 않음 (CI/CD 이런거 하는 곳은 안좋아함)

Trunk-based

"브랜치 하나만 잘 관리하자"
메인브랜치만 하나 놓고 새로운 기능이 필요하면 곁가지 feature 브랜치 하나만 만들어서 거기서 코드를 짠 다음에 합친다 메인에 있는 것들을 바로바로 배포하는 기법 github flow도 유사
장점 : 소스코드를 여러개 관리할 필요가 없음
단점 : 많은 테스트가 필요함 , 자주해야 함
프로젝트가 많이 안정화 되어있다면 이게 더 좋을수도 있음