1. Why Submodule?팀 프로젝트를 진행하면서, application.yml 파일 관리 때문에 꽤 골치 아픈 상황을 겪었습니다. Spring Boot 프로젝트에서 application.yml 파일은 중요한 설정 정보를 담고 있습니다. 그런데 이 파일에는 다음과 같은 민감한 정보들이 포함되어 있곤 합니다.DB 접속 정보외부 API 키클라우드 서비스 인증 관련 설정등등 문제는, 이 프로젝트가 여러 명이 협업하는 퍼블릭 레포지토리였고, 그런 정보를 실수로 커밋하면 보안 사고로 이어질 수 있다는 점이었습니다.처음엔 .gitignore로 제외하고 로컬에서 각자 관리했는데, 그때마다 팀원들끼리 설정 파일을 따로 공유하거나, 실수로 잘못된 값을 넣어서 빌드가 안 되거나 하는 일이 반복됐습니다.특히 로컬 개발..
협업 프로젝트를 진행하다 보면 다양한 스타일의 커밋 메시지로 인해 커뮤니케이션에 어려움을 겪는 경우가 많습니다. 특히 팀원이 많아질수록 코드뿐만 아니라 커뮤니케이션 방식에도 일관성이 필요합니다.이 글에서는 협업을 효율적으로 하기 위해 현재 제가 진행 중인 프로젝트 팀에서 사용 중인 Commit Convention을 정리해 보았습니다. Commit Convention저희 팀의 커밋 컨벤션은 Conventional Commits를 참고하여 결정했습니다. [optional scope]: [optional body][optional footer(s)] Convetional Commits는 위와 같은 커멧 메시지 구조를 정의하고 있습니다. 저희 팀은 커밋 헤더만을 채택하고, optional한 body와 foote..