DS_Store가 뭘까? gitignore로 무시해 보기

DS_Store가 무엇인지와 gitignore로 무시하는 방법에 대해서 정리해 봤습니다.
2024.02.12

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 DS_Store가 무엇인지와 gitignore로 무시하는 방법에 대해서 정리해 봤습니다.

DS_Store가 뭐야?

리포지토리에 파일을 업로드하려고 하면 항상 DS_Store라는 파일이 생성되어 같이 업로드가 됩니다.

이 DS_Store는 무엇을 하는 파일일까요? 리포지토리에 필요한 파일일까요?

DS_Store는 DesktopServices Store의 약자로 Mac에서 자동으로 생성되는 숨겨진 파일로 폴더 내의 파일과 배치, 설정 정 정보를 저장하고 있습니다. DS_Store에는 이런저런 meta 정보가 저장되어 있는 것 같습니다.

DS_Store 파일은 Mac에서만 생성되는 파일이므로 윈도우 사용자는 대개 마주칠 일이 없습니다. 그러나 같은 리포지토리를 공유하고 작업하는 경우 DS_Store 파일이 뜬금없이 생성되어 혼란스러울 수 있습니다. DS_Store 파일은 파일이나 폴더에 직접적인 영향을 미치지 않으므로 삭제하거나 생성되지 않도록 막아도 문제가 되지 않습니다.

DS_Store를 무시하자

그렇다면 DS_Store 업로드를 막으려면 어떻게 해야할까요?

다행히도 Git에서는 gitignore를 이용해 지정된 파일을 관리 대상에서 제외시킴으로써 이러한 문제를 해결할 수 있습니다.

vi .gitignore
.DS_Store

gitignore를 사용하는 방법은 매우 간단합니다.

.gitignore 파일을 생성하고 관리 대상에서 제외할 파일 이름을 입력한 다음 저장합니다.

vi .gitignore
.DS_Store
git rm -r --cached .

이미 생성된 리포지토리에서 .DS_Store 업로드를 막으려면 gitignore 파일을 생성하고, 캐시를 삭제한 다음 파일 업로드를 진행하면 더이상 .DS_Store는 업로드 되지 않을 것입니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 kim.jaewook@classmethod.jp 로 연락 주시면 회신 드릴 수 있도록 하겠습니다 !