지식

[깃허브] .DS_Store 파일이 도대체 뭘까? 삭제 방법까지

colin2 2024. 12. 26. 16:43

깃허브에 업로드를 할 때 .DS_Store 파일 때문에 푸시하는 순간 약간의 문제가 생겼던 적이 가끔 있었다.

 

사실 푸시하는 순간이 작업의 마무리 단계이다 보니 얼른 푸시하고 쉬어야지 하는 생각을 하는 경우가 많았고, 그렇게 그냥 넘어온게 벌써 지금이 되었다.

 

이번에 또 오랜만에 이 파일 때문에 덜컥하게 되었고, 이제는 알아볼 때가 되었다 싶었다.

 

 

.DS_Store 의 역할

macOS에서 Finder(파일 탐색기)가 생성하는 숨겨진 파일로, 디렉토리의 메타데이터를 저장하는 역할.

 

파일에 포함되는 정보

  • 디렉토리 내 아이콘의 위치
  • 아이콘 정렬 순서
  • 뷰 설정(예: 목록 보기, 격자 보기 등)
  • 기타 Finder 관련 설정

 

macOS에서 디렉토리를 열 때 자동으로 생성되기 때문에 의도하지 않게 생성되는 경우가 있는 것.

 

그렇기 때문에 해당 문제를 피하고 싶고, 불필요한 파일을 생성하지 않기 위해서는 애초에 문제를 해결하는 것이 좋았을 것이다.

 

해결 방법

  1. 깃허브 연동 전일 경우 : .gitignore 파일에 추가
  • .DS_Store

 

2. 이미 깃허브에 해당 파일이 올라가 있는 경우 : .DS_Store 파일 삭제

1) 터미널을 열어 해당 프로젝트 폴더로 이동

2) find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f 입력

-> .DS_Store 파일 삭제

3) echo .DS_Store >> .gitignore

-> .gitignore 파일에 .DS_Store 추가

4) git add .

5) git commit -m "Remove .DS_Store files"

6) git push