개발환경, 도구/Git

20220504_원격저장소(github)에 node_modules 폴더 올렸을 때 삭제 방법

gu9gu 2022. 5. 4. 00:31

https://zel0rd.tistory.com/140

 

git ignore 안될 때!! (node_modules 제거)

npm을 사용할 때, package.json에는 의존하는 패키지 리스트가 나와있고 npm install을 통해 필요한 패키지들을 받아서 사용하게 된다. 이 패키지들은 node_modules라는 폴더에 설치가 되는데... 수 많은 파

zel0rd.tistory.com

node_modules 폴더가 있는 프로젝트로 들어간다.

git rm --cached -r node_modules

git commit -m "node_modules 원격에서 삭제"

git push origin 브랜치이름 ( git push만 함)

 

[참고1]

1.cient 폴더에서 git bash here 

2. 위 명령어 순서대로 진행

 

[참고1]

1. vsCode상에서 진행시 node_modules에 파일이 너무 많아서 그런지 오류 발생함.(git lens 관련 오류인 것 같음.. 그러면 무시하고 진행했으면 되려나?..)

 

 

[해석]

1. npm을 사용하면 package.json에 의존하는 패키지 리스트가 나와있고 npm install을 통해 필요한 패키지들을 받아서 사용한다.

2. 패키지들을 node_modules 폴더에 설치된다.

3. 보통 node_modules는 파일이 많고 용량이 커서 원격저장소에 올리지 않는다.

4. 원격에 올리지 않기 위해 .git 파일이 위치한 폴더에 .gitignore 파일을 만들어서 node_modules/ 를 넣어준다.

5. 이미 올렸다면 .gitignore에 넣어놔도 사라지지 않는다. 왜냐하면 .gitignore은 commit 할 때 파일을 트래킹할지 말지 결정하는 용도인데, 이미 올라간 파일에 대해선 트래킹을 하지 않아도 이미 올라간 상태이기때문에 소용없다.

6. 그래서 원격에 올린 node_modules는 직접 지워줘야한다.

 

7.git rm --cached -r node_modules

(원격 저장소에서 node_modules 폴더를 삭제한다. -r은 하위 폴더에도 적용하겠단 의미)

(node_modules 삭제가 stage에 올라간다.)

참고)

git rm : 원격, 로컬 저장소 모두 삭제

git rm --cached : 운격 저장소에서만 삭제


8. staging에 올라간 걸 commit message 작성하여 commit

9. git push 원격저장소이름 브랜치이름

참고)

git remote -v //  원격 저장소 이름 확인

 -> origin 주소 (fetch)

 -> origin 주소 (push)