관리 메뉴

SIMPLE & UNIQUE

이미 추적된 git파일 무시하기/node_modules 본문

React & Node/Solution

이미 추적된 git파일 무시하기/node_modules

착한코딩 2019. 11. 1. 18:05

git을 사용할때 보안이 필요한 파일이나 협업에 불필요한 파일들은
.gitignore문서에 파일명이나 폴더 경로를 작성하여 추적되지 않게 관리한다. 

 

  문제는 한번 추적된 파일은 이후에 .gitignore파일에 추가해도 적용되지 않는다.

프로젝트를 처음 시작할때 node 경로의 /node_modules만 등록을 했더니

react경로의 /node_modules안의 수백개 파일들이 pull/push 할때마다 추적됬다.

(사용하는 모듈들이 동일해도 개발자 각각의 로컬환경에 따라서 파일내용이 달라지기 때문에)

 

무시할 파일들이 몇 개 안 된다면, pull/push할때마다 그 파일들만 선택해서 '무시'해주면 된다. 

 

<참고> SourceTree라는 툴을 사용할때 무시버튼 

그런데 파일이 몇 백 개가 넘어가니 작업할 때마다 로딩시간이 오래 걸렸다.

 

해결방법은 git remote 경로의 해당 파일들을 삭제하고, commit history를 삭제해주는 것이다.

아래 명령어를 이용하면 해당 폴더와 commit history를 삭제할 수 있다.

commit history가 많을수록 repository는 2번째 명령어를 실행하는데 오랜 시간이 걸리니 참고.


git rm -r --cached node_modules
git filter-branch --tree-filter 'rm -f node_modules' HEAD

 

 

 

 

Comments