본문 바로가기

김탱 개발자/기타

[Git] 이미 Commit한 이력 제거하는 방법

이미 Git 프로젝트에서 commit을 하였지만 뒤늦게 해당 폴더나 파일들을 ignore 하고 싶은 경우가 있다.

.gitignore에 추가하여도 기존 commit 기록 때문에 계속해서 이력에 추가가 되기 때문에

그 전 commit 기록에서 제거해주어야 한다.

.gitignore는 새로운 변경 사항을 무시하도록 하지만, 이미 Git에 추가된 내용에 대해서는 Git은 계속 추적관리 하도록 되어 있다.

 

1. .gitignore에 폴더 추가

example_folder를 무시하고 싶다면 프로젝트 루트에 있는 .gitignore 파일에 아래 줄을 추가

example_folder/

2. Git 기록에서 폴더 삭제

터미널에서 다음 명령을 실행
작업 디렉토리에서는 파일을 유지하면서 Git에서만 제거하는 역할

git rm -r --cached example_folder

3. 변경 사항 커밋 & 푸시

git commit -m "Remove example_folder from repository history"
git push origin main  # 브랜치 이름(main)을 네 브랜치에 맞게 변경해