.DS_Store
에 대한 gitignore
설정을 했지만, git 원격 저장소에 올라간 파일이 제대로 적용되지 않았다. 이미 올라간 .DS_Store
파일을 git에서 삭제하고 다시 반영하는 방법을 찾아보았다.
git rm --cached .DS_Store
git commit -m "Remove .DS_Store"
📌 옵션인 --cached를 사용하면 현재 로컬에는 남아있고 원격 저장소에 파일만 삭제된다. 로컬과 원격 저장소의 파일을 삭제하면 옵션의 --cached
를 생략하면 된다.
find . -name .DS_Store -print0 | xargs -0 git gm --ignore-unmatch
프로젝트 전반에 .DS_Store
파일이 있는 경우 파일을 복사하여 붙여넣어서 저장소에 있는 모든 파일을 한 번에 찾아 제거한다.
전역으로 .gitignore 파일을 만드는 방법이다.
전역으로 파일을 생성하고 난 뒤
echo .DS_Store >> ~/.gitignore_global
모든 저장소에 적용하면 된다.
git config --global core.excludesfile ~/.gitignore_global