[23.08.07/TIL] gitignore가 제대로 적용이 안될 때? git rm
gitignore 가 제대로 적용이 안되는 경우는 여러 경우가 있는데 (gitignore 파일의 위치, 내부 문법 오류 등)
이번 경우는 캐시된 파일이 이미 존재하는 경우였다.
이전에 이미 Git으로 추적되었던 파일은 .gitignore를 추가하더라도 캐시에 남아 있을 수 있습니다.
이 때문에 .gitignore 파일이 새로운 파일에는 적용되지만 기존의 캐시된 파일에는 적용되지 않을 수 있습니다. 이를 해결하기 위해 다음 명령을 실행하여 캐시를 비워줄 수 있습니다:
git rm -r --cached .
git add .
git rm -r --cached
git add .
는 한마디로
Git 저장소의 캐시(인덱스?)에서만 파일을 제거하는 것
제거하므로써 추적을 끊어내고
(기존의 작업폴더의 파일을)
다시 add . 를 하여 gitignore를 적용할 수 있게 해주는 것
최종적으로 해당 사항에 대해 commit 후 push 하면 원격저장소에 반영된다.
참고해서 읽어본 링크
What's the difference between HEAD, working tree and index, in Git?
Can someone tell me the difference between HEAD, working tree and index, in Git? From what I understand, they are all names for different branches. Is my assumption correct? I found this: A single...
stackoverflow.com
여긴 나중에 읽어봐야지
https://shaeod.tistory.com/506
[리눅스 명령어] rm - 파일 혹은 디렉토리 삭제
※ 요약 리눅스 명령어 rm은 파일이나 디렉토리를 삭제할 때 사용하는 명령어이며 -r 옵션을 붙이지 않으면 디렉토리는 삭제하지 못 한다. 참고로 리눅스처럼 유닉스형 운영체제는 삭제를 취소
shaeod.tistory.com