[Git] .DS_Store 삭제 방법

하나·2022년 2월 17일
1

Git

목록 보기
4/5
post-thumbnail

열심히 코딩을 하고 git push를 하고나면, 필요없는 파일들이 같이 올라가있는 경우가 종종 있다. 자동으로 생긴 .DS_Store 를 삭제하고 깔끔하게 push 를 해보자!

.DS_Store 파일이란?

Desktop Services Store 의 약자로 , 애플에서 정의한 파일 포맷이다.

애플의 맥OS X 시스템이 폴더에 접근할 때 생기며, 해당 폴더에 대한 메타데이터를 저장하는 파일이다.

즉, mac의 finder로 폴더에 접근하면 자동으로 생기는 파일. 여기서 메타데이터는 해당 디렉토리의 특성, 구조 등에 관한 내용을 말한다.

.DS_store 파일은 프로젝트와 관련없는 파일로 ,윈도우의 thumb.db 파일과 비슷하다고 볼 수 있다.

이 파일은 포렌식적 관점에서 유용하게 사용될 수 있다고 한다.

1) spotlight comment 정보 : mac에서는 파일에 원하는 태그를 걸면, 파일탐색기와 같은 기능을 하는 spotlight에서 빠르게 검색이 가능하다. 구조체의 cmmt 영역에서 얻을 수 있다.

2) 파일의 타임스탬프 정보 : 구조체의 modD, moDD 영역에 해당하는 부분인데, 파일의 수정 시간과 관련된 정보를 얻을 수 있다.

3) 해당 디렉토리의 논리적, 물리적 크기에 대한 정보 : 구조체의 logS, lg1S, phyS, ph1S 에서 얻을 수 있다.

.DS_Store 삭제 방법

저장소 상위 디렉토리 기준 .DS_Store 파일 제거 (현재 디렉토리 아래의 모든 파일)

  find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

앞으로 .DS_Store 파일을 업로드 안하고 싶다면

  • 저장소 상위 디렉토리에 .gitignore 파일 생성 및 .DS_Store 파일 추가

    echo .DS_Store >> .gitignore

    변경 사항을 원격 저장소에 push

  git add --all
  git commit -m '.DS_Store removed'
  git push origin main

참고 : https://wooono.tistory.com/251, https://jonhyuk0922.tistory.com/116

0개의 댓글