브랜치 네이밍 규칙을 설정하는 것은 프로젝트 관리와 팀 협업을 효율적으로 진행하기 위해 중요합니다. 아래는 일반적으로 사용되는 브랜치 네이밍 규칙입니다. 이 규칙을 통해 브랜치의 목적과 내용을 명확히 하고, 프로젝트의 가독성을 높일 수 있습니다.
main 또는 master: 프로젝트의 안정적인 배포 버전을 유지하는 브랜치입니다. 모든 최종 버전의 코드가 여기에 머물러야 하며, 직접적으로 커밋하지 않는 것이 좋습니다. 대신 Pull Request(PR)를 통해 검토된 코드만 병합합니다.develop: 새로운 기능 개발, 버그 수정 등이 이루어지는 브랜치입니다. 모든 기능 브랜치가 병합되는 곳이며, 이 브랜치에서 안정화된 코드는 main 브랜치로 병합됩니다.feat/{브랜치 이름}: 새로운 기능을 개발하는 브랜치입니다. 기능이 완료되면 develop 브랜치로 병합됩니다.feat/rocksdb-log-storage, feat/implement-new-uibugfix/{브랜치 이름}: 버그를 수정하는 브랜치입니다. 수정이 완료되면 develop 또는 main 브랜치로 병합됩니다.bugfix/fix-login-error, bugfix/correct-missing-dependencieshotfix/{브랜치 이름}: 긴급한 버그 수정을 위해 사용하는 브랜치입니다. 주로 main 브랜치에서 발생한 이슈를 긴급하게 수정할 때 사용하며, 수정 후 main과 develop 브랜치에 병합됩니다.hotfix/security-patch-v1.0.1, hotfix/fix-critical-bugrelease/{버전}: 새로운 배포 버전을 준비하기 위해 사용하는 브랜치입니다. 배포 전 마지막으로 테스트하고, 배포 준비가 완료되면 main 브랜치로 병합합니다. 이후 develop 브랜치에도 병합하여 다음 개발 사이클에 반영합니다.release/v1.0.0, release/v2.1.0experiment/{브랜치 이름}: 새로운 아이디어나 실험적인 기능을 테스트하기 위해 사용하는 브랜치입니다. 안정성이 보장되지 않은 코드를 포함할 수 있으며, 성공적일 경우 기능 브랜치로 전환할 수 있습니다.experiment/try-new-cache-implementation, experiment/alternative-loggingdocs/{브랜치 이름}: 문서화 작업을 위한 브랜치입니다. 주로 프로젝트의 README, API 문서, 기타 개발 관련 문서를 수정할 때 사용됩니다.docs/update-api-docs, docs/improve-readmerefactor/{브랜치 이름}: 코드 리팩토링 작업을 위해 사용하는 브랜치입니다. 기능 변경 없이 코드 구조를 개선하는 작업을 포함합니다.refactor/clean-up-auth-module, refactor/optimize-database-queriestest/{브랜치 이름}: 테스트 코드 작성 및 테스트 환경 설정을 위한 브랜치입니다.test/add-unit-tests, test/integrate-cifeat/rocksdb-log-storage-#93, bugfix/fix-typo-#102feat/add-user-authenticationbugfix/resolve-login-issuehotfix/fix-payment-gateway-errorrelease/v2.0.0experiment/new-caching-strategydocs/update-contribution-guiderefactor/improve-error-handling이러한 규칙을 팀 전체에서 일관되게 사용하면, 브랜치 이름만으로도 작업의 목적과 내용을 쉽게 파악할 수 있어 협업이 훨씬 수월해집니다.