Git

Git에서 추적 해제하는 방법

yebeen 2025. 6. 3. 01:27

 

 

 

아~~~~~~~ 오늘의 사고

.gitignore을 만들고 push했어야 했는데 깜빡하고 안 해버린 것이다.

 

이미 깃에 올린 후에 .gitignore에 해당 파일이나 폴더를 작성해도 아무 소용이 없다는 사실...

왜!냐! 새로 추가한 파일을 무시하는 것이지 git에 이미 올라간 파일엔 효력이 없기 때문이다.

 

분명 언젠가 또 이럴 일이 있을 것 같아 미리 정리한다...

 

 

 

1. git의 인덱스에서 제거해 주기

 --cached를 통해 Git의 인덱스에서만 삭제하는 것으로 로컬에는 남아있는다.

 

 

git rm -r --cached node_modules

## 동시에 제거도 가능
git rm -r --cached node_modules dist

 

 

2. 변경사항 커밋

git commit -m "Remove node_modules from tracking"

 

 

3. 원격 저장소에 반영 (Push)

 

git push

 

 

특정 확장자 파일 한꺼번에 제거하는 팁

로그 파일이나 백업 파일처럼 확장자가 일정한 파일은 find 명령어를 쓰면 편하다.

find . -name "*.log" -exec git rm --cached {} \;

 

 

macOS의 DS_Store도 아래처럼 지워준다.

find . -name ".DS_Store" -exec git rm --cached {} \;
 
 
 

단... .env같은 파일은 직접 명시해서 지워야 한다!!

git rm --cached .env