본문 바로가기
개발/Git

gitignore를 이미 올라간(push) 기존 파일에 적용하기

by amkorousagi 2022. 11. 2.

gitignore를 이미 올라간(push) 기존 파일에 적용하기

설명


gitignore를 이미 원격 저장소에 올라간(push) 기존 파일에 적용하는 방법입니다.

(git에 이미 올라간 파일을 삭제)

해결방법


git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
git push

 

 

원리


 

 

"git rm -r --cached"를 통해 recursive 하게 현재 추적하고 있는 파일들을 staging area(또는 index)에서 삭제합니다.

(--cache를 사용하면 working tree에서 삭제하지 않습니다)

그리고는 "git add ."를 통해 다시 index(또는 staging area)에 등록하여 추적하도록 합니다.

이때, 우리가 만든 .gitignore을 적용되어 특정 파일은 등록되지 않습니다.

이후, "git commit"을 통해 index의 상태가 local repository로 저장됩니다.

마지막으로, "git push"를 통해 local repository에서 remote repository로 변경사항을 전달합니다.

참조


 

 

Apply .gitignore on an existing repository already tracking large number of files

I have an existing Visual Studio project in my repository. I recently added a .gitignore file under my project and I assume that tells Git to ignore the files listed in the file. My problem is th...

stackoverflow.com

 

 

Git - git-rm Documentation

Remove files matching pathspec from the index, or from the working tree and the index. git rm will not remove a file from just your working directory. (There is no option to remove a file only from the working tree and yet keep it in the index; use /bin/rm

git-scm.com

 

댓글