Skip to main content

캐시 제거

개요

.gitignore에 파일을 추가했지만 이미 Git에서 추적 중인 파일들을 추적 해제하고 싶을 때 사용하는 명령어들에 대해 설명합니다. 이 과정을 통해 불필요한 파일들이 Git 저장소에 포함되지 않도록 할 수 있습니다.

명령어 설명

다음 세 가지 명령어를 순서대로 실행하여 Git 캐시를 정리합니다.

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

1. git rm -r --cached .

  • 역할: 현재 디렉터리(.)와 그 하위의 모든 파일과 폴더를, Git의 인덱스(스테이징 영역)에서만 제거합니다.
  • 중요: 파일은 실제로 삭제되지 않습니다. 로컬 폴더에는 그대로 남아있고, Git만 이 파일들에 대한 추적을 해제합니다.
tip

.gitignore를 추가했음에도 이미 추적되고 있던 파일(예: .env, node_modules 등)을 Git에서 추적 해제하고 싶을 때 주로 사용됩니다.

2. git add .

  • 역할: 현재 디렉터리를 기준으로 모든 변경 사항을 스테이징 영역에 올립니다.
  • 동작: 앞 단계에서 추적이 해제된 파일 중에서, .gitignore에 포함되지 않은 파일들만 다시 스테이징됩니다.
  • 일반적으로 .gitignore에 포함된 파일은 다시 add되지 않습니다.

3. git commit -m "fixed untracked files"

  • 역할: 스테이징된 모든 변경 사항을 **"fixed untracked files"**라는 메시지와 함께 하나의 커밋으로 저장합니다.
  • 이 커밋에는 Git 추적 영역에서 제외된 파일 목록새로 추가되거나 수정된 파일 정보가 반영됩니다.

전체 흐름

잘못 추적된 파일을 .gitignore로 관리하고 싶을 때 다음 순서대로 작업합니다.

  1. .gitignore 파일 수정/생성하여 원하는 파일 패턴을 추가
  2. git rm -r --cached .로 인덱스에서 모든 파일 추적 해제
  3. git add .로 변경된 내역을 다시 스테이징 영역에 추가
  4. git commit -m "fixed untracked files"로 커밋하여 변경사항 확정
danger

이 과정 이후에는 .gitignore에 기술된 파일/폴더는 더 이상 Git에서 추적되지 않으며, 원격 저장소에도 푸시되지 않습니다.