목차
개요
프로젝트를 진행 중 신나게 기능을 개발하고 난 뒤 android stutdio에서 commit을 한 뒤 터미널에서 습관성 git status가 발동해 무의식적으로 치게 되었습니다.
그런데...
git status
음... 뭔가 잘못되었다. 난 저런 파일들을 수정한 적 없을뿐더러 만든 적조차 없었습니다. 구글링을 통해 왜 이런 현상이 발생했는지 알아보았습니다.
DS_Store란?
DS.Store 파일은 Desktop Services Store의 약자
macOS 운영체제에서 Finder로 폴더를 볼 때마다 자동으로 생성된다고 합니다.
해당 폴더에 대한 메타데이터를 저장하는 파일이고 이 메타데이터 안에는 "해당 디렉토리의 특성, 구조 등에 관한 내용"이 포함된다고 합니다.
잠시 프로젝트 구조 좀 살펴보느라 Finder로 디렉토리에 접근하느라 저도 모르는 사이에 생성되었나 봅니다...
아마 저는 아직 터미널에 완벽하게 익숙하지 않기 때문에 앞으로도 이런 행위를 저지를 것 같아서 미리 gitignore로 무시하기로 했습니다~
gitignore로 추적 무시
먼저 전 기존에 .gitignore 파일이 존재했기 때문에 이를 기준으로 진행했습니다.
1. 기존에 Finder를 통해 생성됐던 DS_Store 파일들을 제거
이 파일들은 기본적으로 숨김처리가 되어있습니다. 그렇기 때문에 편하게 명령어를 통해 지워주도록 합시다.
(1) 먼저 작업중인 프로젝트의 루트 디렉토리로 이동합니다.
(2) 그리고 DS_Store 삭제 명령어를 입력
DS_Store 삭제 명령어
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f
(3) git status를 입력해 상태 확인
명령어 실행 후
명령어 실행 후 .DS_Store 파일이 삭제된 것을 확인할 수 있습니다.
2. .gitignore 파일을 편집해 향후에 모든 .DS_Store 파일 무시
(1) 프로젝트 루트 디렉토리에 Mac 기준 cmd + shift + .키(숨김파일 보기)를 눌러 .gitignore 파일을 찾는다
(2) .gitignore 파일 수정
gitignore
#MAC
.DS_Store
이렇게 설정하면 .DS_Store 추적 금지 설정 완료가 됩니다.
결과
결과
해당 디렉토리에 .DS_Store가 있지만 git이 철저하게 무시하는 모습을 볼 수 있습니다.