728x90
반응형
SMALL
새로운 회사에 들어가서 적응하고 기존과 다른 업무들을 익히느라
그 동안에 쌓였던 물음표들과 지식을 정리할 시간이 부족했다.
다시 시작해본다!
오늘은
.DS_Store파일에 대해서 공부해보려고 한다.
MacOS 에서 프로젝트를 만들고 레파지토리에 올리다보면
.DS_Store라는 파일이 생성되어 있는 걸 볼 수 있다.
아닌게 아니라, 이런 뭔지 모르는 파일 때문에
브랜치가 꼬이거나 커밋을 되돌려야 하는 상황들이 꽤나 생긴다.
(ex: .pbxproj 같은..)
그래서 이 녀석이 대체 누구고, 어떻게 해결하면 좋을지 알아봤다!!
.DS_Store 파일이란?
- Desktop Service Store의 약자로 macOS에서 생성되는 숨김파일로, Window에서의 thumb.db 파일과 비슷한 유형이다.
- macOS 나 시스템이 폴더에 접근할 때 생성되며, 해당 폴더에 대한 메타데이터를 저장하고 있다.
- Finder로 폴더에 접근하면 자동으로 생성된다.
- 내부 구조를 살펴보면 해당 디렉토리의 크기, 아이콘의 위치, 폴더의 배경과 같은 정보들을 얻을 수 있다.
- 프로젝트와는 아무 관련 없는 파일이며, git 으로 올리지 않고 삭제해도 무방하다.
.DS_Store에 대해서 찾아보니
위 5가지 정도로 정리가 된다.
어떤 디렉토리에 대한 메타데이터를 이루고 있고
그 메타 데이터는 아이콘의 위치, 디렉토리 크기와 같이
말 그대로 해당 디렉토리의 정보들을 담고 있다.
또, 제일 중요한 게
Git에 안올려도 무방하고
심지어 뒀을때는 Conflict 을 야기하는 요소이기 때문에
ignore에 추가하는 게 편하다!
그렇다면,
.DS_Store 제거 방법
1. 터미널에서 해당 repository local 디렉토리로 이동한다.
2. find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f 를 입력한다.
==> 이렇게 하면 .DS_Store파일이 삭제된다. 이제 gitignore파일에 이를 추가하여 commit 시 무시할 수 있도록 설정한다.
3. echo .DS_Store >> .gitignore
// .gitignore 가 없다면 생성하고 .DS_Store를 추가해주고, 만약 이미 존재한다면 해당 파일에 추가해준다.
// 이제부터는 수정된 .gitignore 반영
4. git add .gitignore
5. git commit -m ".DS_Store is banished"
6. git Tool 을 사용해서 push origin 으로 원격저장소에 반영
이제 이 놈으로 고생안해도 된다!
728x90
반응형
LIST
'iOS' 카테고리의 다른 글
객체지향 프로그래밍적 사고 - 2 (0) | 2024.08.16 |
---|---|
객체지향 프로그래밍적 사고 (0) | 2024.08.13 |
[iOS] Font Size, Frame에 Text 맞추기, adjustsFontSizeToFitWidth, minimumScaleFactor, sizeToFit (0) | 2023.10.21 |
[iOS][Swift][UIKit] UIPickerView의 그라데이션넣기(gradient). (0) | 2023.09.04 |
[iOS][fastlane] 자동배포, testFilght 올리기 (0) | 2023.09.03 |