.DS_Store 파일 관리
Productivity
Tip
MacOS
Git
.DS_Store
파일은 다른 OS 로 데이터를 공유하는 과정에서 전달되는 경우가 많고 불필요한 정보까지 옮겨 질 수 있습니다. 그래서 아래와 같이 삭제해서 데이터를 옮기거나 자동 생성을 방지하는 작업이 필요합니다.
.DS_Store
(Desktop Services Store) 는 애플에서 정의한 파일 포맷으로, macOS 에서 아래와 같은 역할을 합니다.1
- macOS 의 Finder 가 폴더에 접근할 때 자동으로 생성되며 해당 폴더의 메타데이터 (디렉토리 특성, 구조 등) 를 저장합니다.2
- 윈도우의
thumb.db
파일과 유사한 기능을 합니다.
1 삭제법
터미널에서 다음 명령어를 실행합니다:
sudo find . -type f -name '.DS_Store' -print -delete
2 생성 방지
.DS_Store
파일 자동 생성을 막으려면 다음 명령어를 사용합니다:
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
다시 생성하려면 명령어 마지막을
false
로 변경합니다.
3 Git 저장소에서 관리
Git repo 에도 자주 올라와 있는 경우를 보게 됩니다. 그럴 때는 프로젝트 폴더에서 아래와 같이 처리하면 됩니다.
- 먼저
.DS_Store
파일을 Git 저장소에서 제거합니다:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
.gitignore
파일에.DS_Store
를 추가하여 향후 추적을 방지합니다:
echo .DS_Store >> .gitignore
- 변경사항을 스테이징 영역에 추가합니다:
git add .gitignore
- 변경사항을 커밋합니다:
git commit -m "Remove .DS_Store files and add to .gitignore"
- 변경사항을 원격 저장소에 푸시합니다:
git push origin <branch-name>
이를 통해 .DS_Store
파일을 프로젝트에서 제거하고, 향후 이 파일을 추적하지 않도록 설정할 수 있습니다.3