이번 포스팅은 gitignore에 대해 공부한 지식을 정리하는 글입니다.
MSA 프로젝트 아키텍처
MSA 과제를 시작했습니다. 프로젝트 아키텍처는 위 그림과 같으며, 현재 Gateway와 Product(19093, 19094)를 Eureka 서버에 연결한 상태입니다.
Auth App을 연결하기 전에, 이전에 근무하던 회사의 사수가 'Commit은 수시로 하는 것이 아니라 의미 있는 단위로 해야 한다'라고 했던 말이 떠올랐습니다.
그래서 Auth App을 연결하기 전에, 현재까지 진행한 작업을 의미 있는 단위로 Commit을 했습니다.
현재 프로젝트 구조는 위와 같이 MSA_exam_1라는 폴더 아래에 형성되어 있습니다.
근데 auth App을 연결하고 Commit을 보니깐 폴더 형식이 아닌 각각의 파일을 Git이 트래킹 하고 있었습니다.
"각각의 파일이 아니라 폴더형태로 나와야 하는 것이 아닌가?"라는 생각이 들어 구글링과 튜터님한테 물어봤습니다.
구글링 한 정보와 튜터님한테 답을 얻은 결과는 다음과 같습니다.
"IntelliJ에서는 각각의 파일이 나오고, 실제 깃허브에 올라갔을 때에는 프로젝트 형식 즉, 폴더 구조로 올라가게 된다."
gitignore
gitignore란?
- Git에서 버전
관리하지 않을 파일과 디렉터리를 지정하는 설정 파일입니다.
gitignore에 관리하지 않을 파일들을 넣고 커밋을 했는데, 계속해서 Git이 트래킹을 하고 있는 상황이었습니다.
프로젝트 구조를 보면 위와 같이 각각의 App들이 gitignore를 가지고 있는 상황이기 때문에 적용되지 않은 gitignore파일을 수정했기 때문에 다른 곳에서는 영향을 받지 않은 것이었습니다.
따라서 프로젝트 전체에서 관리하고 싶지 않은 파일을 지정하고 싶을 땐 전체 프로젝트의 가장 상위인 MSA_exam_1 아래에 gitignore를 만들어야 합니다!
project/
│
├── .gitignore
├── folder1/
│ ├── .gitignore
│ └── file1.txt
│
└── folder2/
└── file2.txt
구글링과 튜터님한테 질문의 내용을 정리하자면 다음과 같습니다.
위와 같은 경우 project/. gitignore 파일의 규칙은 folder1과 folder2를 포함한 전체 프로젝트에 적용됩니다.
반면, folder1/. gitignore 파일의 규칙은 folder1 폴더 내부에만 적용됩니다. 따라서 하위 폴더마다 별도로. gitignore 파일을 설정하면, 그 폴더별로 고유한 무시 규칙을 가질 수 있습니다.
이러한 방식으로 특정 폴더 내에서만 무시할 파일이나 디렉터리를 정의할 수 있습니다.
전체 프로젝트에서 적용할. gitignore 추가
gradle-wrapper.jar 와 properties
전체 프로젝트에서 무시할 내용을 만들고, 커밋을 했는데도 계속해서 Git이 트래킹 한 파일이 있었습니다.
- gradle-wrapper.jar
- gradle-wrapper.properties
위 파일들인데 왜 계속 파일들이 gitignore에 넣었는데 트래킹 하는 거지? 의문점이 들어서 구글링과 튜터님한테 물어본 결과 이유는 다음과 같습니다.
gradle-wrapper.jar과 properties는 현재 개발 중인 gradle 버전의 일관성을 유지시키고, 초기 설정 간소화를 위해. gitignore에 포함하지 않는 것이 좋습니다.
따라서. gitignore를 추가하여도IntelliJ에서 막는 것이 무시되지 않은 원인!!
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일회고] 2024.08.10 - DTO 사용 시 고려해야 할 주요 문제점과 해결책 (0) | 2024.08.10 |
---|---|
[TIL, 일일회고] 2024.08.09 - @Data를 지양하자 (0) | 2024.08.09 |
[TIL,일일 회고] 2024.08.07 - Spring Cloud Stream이란❓ (0) | 2024.08.07 |
[TIL,일일 회고] 2024.08.06 - 마이크로서비스 아키텍처에서 Spring Cloud Config의 필요성 ✅ (0) | 2024.08.06 |
[TIL, 일일 회고] 2024.08.05 - Spring Cloud Gateway의 중요성 및 MSA 아키텍처에서의 역할 (0) | 2024.08.05 |