본문 바로가기
트러블슈팅

.gitignore : 파일 숨기기

by 우 석 2024. 1. 31.

memo-api 프로젝트를 만든 뒤 github repository에 저장하여, 그동안의 commit 내용을 다시 보며 공부할 계획이다. 하지만 application properties에 DB 비밀번호와 같은 개인정보가 담겨 있다. 이 파일을 숨기기 위해서 .gitignore을 찾아보았다.

 

.gitignore

 gitignore 파일은 Git 저장소에서 추적하지 않을 파일 및 디렉토리를 지정하는 데 사용되는 설정 파일입니다. 이 파일을 사용하여 Git이 특정 파일이나 디렉토리의 변경 내용을 추적하지 않도록 할 수 있습니다.

일반적으로 .gitignore 파일은 저장소에 추가하려고 하지 않는 개인 또는 시스템 파일, 컴파일된 바이너리 파일 등을 명시적으로 지정하는 데 사용됩니다. 이를 통해 Git 저장소에서 불필요한 파일의 크기를 줄이고, 변경 내용을 관리하고, 저장소의 깨끗함을 유지할 수 있습니다.

 

문제점

구글링을 통해 숨길 파일을 지정하기 위해서 .gitignore 파일을 열고, DB 비밀번호가 담긴 application properties 파일 자체를 숨기기 위해 아래와 같은 코드를 작성했다.

### IntelliJ IDEA ###
*.properties

 

하지만 memo-api repository에는 application properties이 그대로 남아있었다. 어떤 문제인지 모르겠어서 repository를 삭제하고 다시 생성, 재업로드를 여러 번 했지만 결과는 같았다.

 

왜 적용이 안 되지...?

 

구글링을 통해 캐시 문제임을 발견했다. 

 

참고한 블로그 링크: https://devlog-wjdrbs96.tistory.com/237

이미 버전 관리에 포함되어 있는 파일들을 .gitignore 파일에 기록한다고 해서 Git이 알아서 버전 관리에서 제외하지는 않는다. 즉 Git이 계속해서 해당 파일을 추적(Track)하고 있다는 뜻이다.

 

해결방법: 수동으로 파일을 제거

이미 캐시에 파일들이 기록되어 있기 때문에  .gitignore 파일에 기록해도 업로드한 repository에 기록이 남아있었다. 그래서 위 명령어를 작성하여 기존 레포지토리의 캐시를 삭제 한 뒤 재업로드 하였다.

git rm -r --cached . // 현재 레포지토리의 캐시를 모두 삭제

 

결과

아래  사진에 보여지듯 resources 아래에 있었던 application properties 파일이 숨겨져 있다.

 

 

https://github.com/wooseok50/memo-api

 

GitHub - wooseok50/memo-api: 메모장 프로젝트

메모장 프로젝트. Contribute to wooseok50/memo-api development by creating an account on GitHub.

github.com