.DS_Store 파일 관리

Productivity
Tip
MacOS
Git
Author

Taeyoon Kim

Published

October 7, 2024

Modified

November 12, 2024

.DS_Store 파일은 다른 OS 로 데이터를 공유하는 과정에서 전달되는 경우가 많고 불필요한 정보까지 옮겨 질 수 있습니다. 그래서 아래와 같이 삭제해서 데이터를 옮기거나 자동 생성을 방지하는 작업이 필요합니다.

.DS_Store(Desktop Services Store) 는 애플에서 정의한 파일 포맷으로, macOS 에서 아래와 같은 역할을 합니다.1

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 에도 자주 올라와 있는 경우를 보게 됩니다. 그럴 때는 프로젝트 폴더에서 아래와 같이 처리하면 됩니다.

  1. 먼저 .DS_Store 파일을 Git 저장소에서 제거합니다:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
  1. .gitignore 파일에 .DS_Store 를 추가하여 향후 추적을 방지합니다:
echo .DS_Store >> .gitignore
  1. 변경사항을 스테이징 영역에 추가합니다:
git add .gitignore
  1. 변경사항을 커밋합니다:
git commit -m "Remove .DS_Store files and add to .gitignore"
  1. 변경사항을 원격 저장소에 푸시합니다:
git push origin <branch-name>

이를 통해 .DS_Store 파일을 프로젝트에서 제거하고, 향후 이 파일을 추적하지 않도록 설정할 수 있습니다.3

4 Reference

Footnotes

  1. https://chanhhh.tistory.com/209↩︎

  2. https://jonhyuk0922.tistory.com/116↩︎

  3. https://wooono.tistory.com/251↩︎