Info

개발, 기술, 그리고 일상에 대한 기록.

Archive

About

기록하고,
공유합니다.

개발, 기술, 그리고 일상에 대한 이야기를 담는 공간입니다.

dannyjoo

개발자로서,
기술과 일상의 접점을 기록합니다.

이 블로그는 개발하며 마주치는 문제들과 해결 과정, 그리고 일상의 소소한 이야기를 담는 공간입니다.

복잡한 것을 단순하게 정리하고, 나중의 나를 위해 기록합니다.

Danny Joo Developer
Interests
  • Android / Flutter
  • Backend
  • UI/UX
Links

글 보러 가기

Archive →
[GIT] .DS_Store파일 .gitignore로 무시하기
Skill/Git

[GIT] .DS_Store파일 .gitignore로 무시하기

목차1. 개요2. DS_Store란?3. gitignore로 추적 무시4. 결과개요 프로젝트를 진행 중 신나게 기능을 개발하고 난 뒤 android stutdio에서 commit을 한 뒤 터미널에서 습관성 git status가 발동해 무의식적으로 치게 되었습니다.그런데...음... 뭔가 잘못되었다. 난 저런 파일들을 수정한 적 없을뿐더러 만든 적조차 없었습니다. 구글링을 통해 왜 이런 현상이 발생했는지 알아보았습니다.DS_Store란? DS.Store 파일은 Desktop Services Store의 약자macOS 운영체제에서 Finder로 폴더를 볼 때마다 자동으로 생성된다고 합니다.해당 폴더에 대한 메타데이터를 저장하는 파일이고 이 메타데이터 안에는 "해당 디렉토리의 특성, 구조 등에 관한 내용"이 ..

Skill/Git

[GIT] .DS_Store파일 .gitignore로 무시하기

목차

1. 개요

2. DS_Store란?

3. gitignore로 추적 무시

4. 결과

개요

 

프로젝트를 진행 중 신나게 기능을 개발하고 난 뒤 android stutdio에서 commit을 한 뒤 터미널에서 습관성 git status가 발동해 무의식적으로 치게 되었습니다.

그런데...

git status

음... 뭔가 잘못되었다. 난 저런 파일들을 수정한 적 없을뿐더러 만든 적조차 없었습니다. 구글링을 통해 왜 이런 현상이 발생했는지 알아보았습니다.


DS_Store란?

 

DS.Store 파일Desktop Services Store의 약자

macOS 운영체제에서 Finder로 폴더를 볼 때마다 자동으로 생성된다고 합니다.

해당 폴더에 대한 메타데이터를 저장하는 파일이고 이 메타데이터 안에는 "해당 디렉토리의 특성, 구조 등에 관한 내용"이 포함된다고 합니다.

잠시 프로젝트 구조 좀 살펴보느라 Finder로 디렉토리에 접근하느라 저도 모르는 사이에 생성되었나 봅니다...

아마 저는 아직 터미널에 완벽하게 익숙하지 않기 때문에 앞으로도 이런 행위를 저지를 것 같아서 미리 gitignore로 무시하기로 했습니다~


gitignore로 추적 무시

 

먼저 전 기존에 .gitignore 파일이 존재했기 때문에 이를 기준으로 진행했습니다.

1. 기존에 Finder를 통해 생성됐던 DS_Store 파일들을 제거

이 파일들은 기본적으로 숨김처리가 되어있습니다. 그렇기 때문에 편하게 명령어를 통해 지워주도록 합시다.

(1) 먼저 작업중인 프로젝트의 루트 디렉토리로 이동합니다.

(2) 그리고 DS_Store 삭제 명령어를 입력

DS_Store 삭제 명령어

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

(3) git status를 입력해 상태 확인

명령어 실행 후

명령어 실행 후 .DS_Store 파일이 삭제된 것을 확인할 수 있습니다.

2. .gitignore 파일을 편집해 향후에 모든 .DS_Store 파일 무시

(1) 프로젝트 루트 디렉토리에 Mac 기준 cmd + shift + .키(숨김파일 보기)를 눌러 .gitignore 파일을 찾는다

(2) .gitignore 파일 수정

gitignore

#MAC
.DS_Store

이렇게 설정하면 .DS_Store 추적 금지 설정 완료가 됩니다.


결과

 

결과

해당 디렉토리에 .DS_Store가 있지만 git이 철저하게 무시하는 모습을 볼 수 있습니다.