squash의 사용은 보류하기로 했습니다. 지금 상황에서는, 가장 기본적인 merge만을 진행하는 것이 이루고자 하는 목적에 거의 부합하므로, squash 사용 시점은 차근차근 살펴보도록 하겠습니다. (보류 이유: 그래프를 읽을 수가 없음. 그렇지만 커밋 메시지를 깔끔하게 정리하기 위한 해결책이 필요함)

서비스개발파트의 프론트엔드에서는 현재 monorepo를 채택하고 있으며, 여러 프로젝트가 같이 관리됨에 따라 뭘 배포해야될지 헷갈리는 혼선을 방지하고자 모든 프로젝트가 main 브랜치로부터 바로 파생되는 Trunk-based development 방식을 채택하고 있습니다. 이에따라, develop 브랜치를 가지고 있지 않으며 feature/{프로젝트명}/main 브랜치가 사실상 develop 브랜치의 역할을 하고 있습니다(develop이 여러개로 분리되었다고 보시면 됩니다.)

콴다 프론트엔드 팀의 방식을 채택했습니다. 브랜치명이 바로 feature로 분기되는 이유는, CI/CD 파이프라인을 구축함에 있어 여러 프로젝트가 효율적으로 구분될 수 있는 구분자로써의 역할을 할 수 있기 때문입니다.

선행작업

fast-forward merge 를 끄도록 합니다.

git config --global --add merge.ff false

목적

이 모든 목적을 일단은 no-ff merge 가 해결해줌

브랜치의 목적

브랜치 간 병합 방법

Screenshot 2024-03-28 at 10.34.07 AM.png