티스토리 뷰
github에서 .DS_Store 파일로 인하여 conflict가 발생한 기념으로 .DS_Store 파일이 뭔지 알아보자.
.DS_Store 파일이 무엇인가?
.DS_Store 는 Desktop Services Sotre의 약자로, 애플에서 정의한 파일 포멧이다.
macOS에서 사용되는 숨겨진 시스템 파일으로 윈도우의 thumb.db 파일과 비슷하다고 한다.
- 폴더나 디렉터리의 내용 및 배치 정보를 저장
- 폴더의 레이아웃 및 아이콘 위치와 같은 정보 기록
- macOS 파일 탐색기 및 Finder와 같은 파일 관리 도구에서 폴더를 올바르게 표시하고 배치할 수 있도록 돕는다.
즉, .DS_Store 파일은 프로젝트와 관련이 없는 파일로 삭제해도 프로젝트에 지장이 없다고 한다!!!!
MacOS를 사용하다면 .DS_Store가 자동으로 생성되어 github에 업로드될 때 conflict를 발생시킬 수 있다.
github에 업로드 하기 전에 .DS_Store 파일을 지우는 것이 conflict발생을 줄일 수 있다.
.DS_Store 삭제 방법
1️⃣ 터미널 열기
2️⃣ .DS_Store 파일이 있는 폴더로 이동
cd 파일 경로
3️⃣ .DS_Store 파일 삭제
rm .DS_Store
+ 현재 디렉터리부터 시작하여 모든 .DS_Store 파일 삭제(Git 저장소에서 삭제)
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f
4️⃣ 만약, 앞으로 .DS_Store 파일을 업로드하지 않는다면
- .gitignore 파일 생성 및 .DS_Store 파일 추가
echo .DS_Store >> .gitignore
- 변경 사항 github에 push
git add .gitignore
git commit -m ".DS_Store is banished"
git push origin branch
막 삭제해도 되는 파일인가?
github에 업로드할 때 .DS_Store 파일 충돌을 일으키는 경우, 일반적으로 이 파일을 제거해도 상관없다.
.DS_Store 파일은 macOS 파일 탐색기인 Finder의 설정 정보를 포함하며, 주로 로컬 디렉토리에 저장되므로 버전 관리 시스템에 포함될 필요가 없다.
macOS에서 로컬 파일 및 폴더의 설정을 보관하는데 사용되므로 삭제하기 전에 해당 설정이 필요한지 확인하고 백업을 만드는 것이 좋다.
'iOS' 카테고리의 다른 글
[Swift] - Alamofire 사용법 (0) | 2023.11.20 |
---|---|
[Swift] MVC 패턴 (0) | 2023.10.31 |
[Swift] CocoaPod 설치와 사용법 (0) | 2023.10.30 |
[Swift] self는 무엇인가? (0) | 2023.10.29 |
[Swift] .self는 무엇인가? (0) | 2023.10.29 |