우리 "제주랑"프로젝트에서는 기술적인 부분과 보안을 관리하는 데 Submodule을 통해
파일들을 별도로 분리하여 관리함으로써, 프로젝트의 안정성과 보안을 향상시켰다.
서브모듈을 포함하는 branch를 checkout하게 되면 Submodule 폴더가 비어있게 되는데
Git에서 submodule을 사용할 때 필수적인 명령어를 실행시켜주어야 한다.
로컬에 있는 .git에게 어떠한 서브 모듈이 있는지 등록
git submodule init
- 이 명령어는 .gitmodules 파일에 기록된 submodule의 설정을 현재 프로젝트의 .git/config 파일로 복사한다
- 이 과정은 submodule을 초기화하는 것으로, submodule의 저장소 URL과 필요한 기본 설정을 Git이 인식할 수 있도록 준비한다.
- 이 명령은 각 submodule을 최초로 사용하기 시작할 때 한 번만 실행하면 됩니다.
등록된 서브모듈로부터 자동 fetch
git submodule update
- 이 명령어는 초기화된 submodule에 대해 실제로 데이터를 가져오고 (clone하고), 프로젝트에 등록된 특정 커밋을 체크아웃한다.
- 즉, 이 명령을 실행하면 submodule의 내용이 프로젝트에 실제로 포함되며, 주로 개발을 시작할 때나 submodule의 변경사항을 프로젝트에 반영할 필요가 있을 때 사용한다.
이 두 명령을 순서대로 실행함으로써, 프로젝트에 포함된 모든 submodule을 적절히 초기화하고 업데이트할 수 있다.
이 과정은 프로젝트에 submodule이 추가되거나 업데이트가 필요할 때 반복적으로 수행된다.
명령어가 실행되고 나니 submodle로 관리되고 있던 파일을 확인할 수 있다.

- application.yml: 프로젝트의 주요 설정을 포함하며, 애플리케이션의 실행 환경을 정의.
- aws.yml: AWS 클라우드 서비스 설정을 위한 파일로, 서버나 데이터베이스와 같은 자원의 접근 정보를 포함.
- secretmanage.yml: 비밀번호, API 키와 같은 민감한 정보를 안전하게 관리
- README.md: 프로젝트나 submodule 사용 방법, 설정 방법 등에 대한 설명을 포함하는 문서.
Gradel 세팅
Gradel에서 copyGitSubmodule 실행시켜서 Submodule세팅을 마무리 한다.


'풀스택개발일지 > 백엔드' 카테고리의 다른 글
| [Spring] JPA 게시판 CRUD 구현 - Read 전체조회 (0) | 2024.05.24 |
|---|---|
| [Spring] Data JPA 전체 조회, ID조회 (0) | 2024.05.17 |
| [Spring] JPA 연관관계 @ManyToOne, @OneToMany 적용하기 (0) | 2024.04.20 |
| [Spring] 쿼리 메소드 사용하기 (0) | 2024.04.18 |
| [Spring] 게시판 메뉴 조회 페이징 처리 Paging (0) | 2024.04.18 |