-
[Git] .DS_Store 파일 개념 및 삭제 방법개발 관련/GitHub 2022. 11. 9. 19:00반응형
Merge conflict를 씨게 겪고나서 쓰는 일종의 회고 겸 반성 .. ?
.DS_Store 파일 개념
- Desktop Services Store의 약자로, 애플에서 정의한 파일 포맷입니다.
- 애플의 맥 OS X 시스템이 finder로 폴더에 접근할 때 자동으로 생기는 파일로써, 해당 폴더에 대한 메타데이터를 저장하는 파일입니다.(윈도우의 desktop.ini 파일과 비슷합니다.)
- 분석해보면 해당 디렉토리 크기, 아이콘의 위치, 폴더의 배경에 대한 정보들을 얻을 수 있습니다.
- DS_store 파일은 프로젝트와 관련이 없으며, Github or Gitlab 으로 넘기지말고 삭제해도 됩니다.
- Mac OS를 사용하다보면 .DS_Store가 자동으로 생성되는데, 이것은 수시로 수정될 수 있으므로 협업 간 conflict를 야기시킵니다.😡
자세한 내용은 위키 참고
.DS_Store 삭제 방법
터미널에서 repository local 폴더로 이동
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f 입력
// 이제 .DS_Store 파일이 삭제가 되었습니다. .gitignore에 추가하여 다시 commit이 되지 않도록 해야합니다.
echo .DS_Store >> .gitignore
// vim로 파일을 만들고, .DS_Store 라고 적힌 라인을 추가해도 됩니다.
// 이미 .gitignore 파일이 있다면, .DS_Store라고 적어주면 됩니다.git add .gitignore
git commit -m ".DS_Store is removed"
git push origin해서 반영합니다.
2. .DS_Store 찾기 및 삭제
더보기내가 궁금한 잡지식
git rm 삭제 --ignore-unmatch history 까지 삭제 -f, --force 강제로
$find [경로] [플래그] [표현식] 현재디렉토리(.) -name 이름 [] $find . -name .DS_Store -print가 기본 옵션 newLine으로 find 결과가 나오게된다. -print0 null 문자 (\0)로 끝낸다
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f
if .gitignore 파일 존재하면 $vim .gitignore / a *.DS_Store 추가 / esc / :wq
else echo .gitignore / $vim .gitignore / a *.DS_Store 추가 / esc / :wq
혹시 기존 프로젝트에 .gitignore 추가했음에도 반영이 되지않는다면 아래 링크에서 해결해보세요 !
https://plcprogrammer-dy.tistory.com/67'개발 관련 > GitHub' 카테고리의 다른 글
[Git] remote 원격 브랜치 로컬로 가져오기 (0) 2024.03.05 프로젝트/저장소 마다 다른 계정을 이용하고 싶을 때 (0) 2023.01.19 .gitignore 파일을 추가했지만 안될 때 (0) 2022.06.16 [xcode] gitignore 파일 작성하기 (0) 2022.02.20 [문제해결]git token 로그인 (0) 2022.01.02