힘내-어디서나 node_modules 폴더 무시


367

다른 여러 프로젝트가 포함 된 프로젝트가 있습니다.

  • 주요 프로젝트
    • 미니 프로젝트 1
    • 미니 프로젝트 2

모든 node_modules폴더를 포함 합니다. 루트 폴더에서 시작하는 위치에 관계없이 git이 폴더를 무시하고 싶습니다. gitgitore에 추가하는 것과 같은 것 :

*node_modules/*

답변:


747

이거 추가 해봐

node_modules/

현재 폴더와 하위 폴더에서 .gitignore호출 node_modules된 모든 디렉토리를 무시 하기 위해 파일로


카르마를 위해 똑같은 일을 할 수있는 길은 무엇일까요?
SuperUberDuper


8
이전에 node_modules 폴더를 git에 추가 한 경우 @AndrewSchreiber의 답변을 참조하십시오. "git rm -r --cached node_modules"를 사용하여 캐시에서 제거해야합니다.
캐스퍼

176

프로젝트 디렉토리의 터미널에서 범용 단일 라이너 를 사용하십시오 .

.gitignore && echo "node_modules /">> .gitignore && git rm -r --cached node_modules; 자식 상태

생성 .gitignore여부에 관계없이 node_modulesgit 추적에 추가했는지 여부에 관계없이 작동합니다 .

그런 다음 .gitignore변경 사항을 커밋하고 푸시하십시오 .

설명

touch.gitignore파일이 없으면 생성 합니다.

echo>>추가합니다 node_modules/말에 .gitignore원인이 node_modules폴더와 모든 하위 폴더가 무시 될 수 있습니다.

git rm -r --cachednode_modules폴더가 이전에 추가 된 경우 git 컨트롤 에서 폴더를 제거합니다 . 그렇지 않으면 경고가 표시되어 pathspec 'node_modules' did not match any files부작용이 없으며 안전하게 무시할 수 있습니다. 플래그는 제거가 재귀 적이며 캐시를 포함하게합니다.

git status새로운 변경 사항을 표시합니다. 변경 사항 .gitignore이 표시되지만 node_modules더 이상 git에서 추적하지 않으므로 표시되지 않습니다.


5
touch여기 필요는 없습니다 : >>존재하지 않는 경우 파일을 작성합니다.
lionello

touch필요합니다. 그렇지 않으면 >>반환 no such file or directory: .gitignore됩니다.
Andrew Schreiber

1
흠, OS마다 다릅니다.
lionello

macOS는 터치가 필요하지 않은 것 같습니다
Carles Alcolea

echo "node_modules/" > .gitignore기존의 지정된 파일의 끝에 텍스트를 추가 하여 원본 내용 으로 파일을 작성해야 합니다.>>
chrisz

28

이런 식으로 해보십시오

**/node_modules

** 전체 프로젝트에서 재귀 호출에 사용됩니다.

**전체 경로 이름과 일치하는 패턴에서 두 개의 연속 별표 는 특별한 의미를 가질 수 있습니다.

A를 선도 **수단이 모든 디렉토리에서 일치 슬래시 하였다. 예를 들어, pattern과 동일하게 **/foo파일 또는 디렉토리를 일치 시킵니다. directory 바로 아래에있는 파일 또는 디렉토리와 일치합니다 .foofoo**/foo/barbarfoo

후행 /**은 내부의 모든 항목과 일치합니다. 예를 들어 .gitignore 파일의 위치를 ​​기준으로 abc/**directory 내의 모든 파일 abc을 무한 깊이로 일치시킵니다 .

슬래시 다음에 두 개의 연속 별표가 오면 슬래시는 0 개 이상의 디렉토리와 일치합니다. 예를 들어, a/\**/b일치 a/b, a/x/b, a/x/y/b과에 이렇게.

다른 연속적인 별표는 유효하지 않은 것으로 간주됩니다.

참고


2
이것이 정답입니다.

왜이 방법이 단순한 것보다 더 나은지 설명 할 수 node_modules/있습니까?
Tanckom

22

가장 중요한 것은 .gitignoremy-app에 파일 을 추가하는 것입니다 . 아래 이미지에서와 같이.

.gitignore를 node_modules의 상위 폴더 / 디렉토리에 넣습니다.

그런 다음 .gitignore파일 에 이것을 추가 하십시오

/node_modules

노트

다른 파일도 추가하여 github에서 푸시되도록 무시할 수도 있습니다. .gitignore에 보관 된 파일이 더 있습니다. 요구 사항에 따라 추가 할 수 있습니다. #.gitignore 파일에서 주석을 달 수있는 방법 일뿐입니다.

# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

왜 .gitignore에 빌드를 추가하겠습니까?
Sebastian Nielsen

6
@SebastianNielsen 우리가 node_modules를 추적하지 않는 것과 같은 이유. 컴파일하여 빌드를 얻습니다.
Daniel Foust

8

코드 편집기 또는 명령을 사용하여 루트 폴더에 .gitignore 파일을 직접 작성하십시오 .

Mac 및 Linux 용

 .gitignore를 터치하십시오. 

Windows의 경우

 에코 .gitignore 

.gitignore를 엽니 다 ./ foldername 과 같은 폴더 또는 파일 이름을 선언하십시오


4

.gitignore에 아래 줄을 추가하면 전체 저장소의 노드 모듈이 무시됩니다.

node_modules

여기에 이미지 설명을 입력하십시오


1
어떻게? 그것은 단지 node_modules은 .gitignore 파일이있는 같은 폴더에 폴더를 무시합니다
라 젠드 란 Nadar

@RajendranNadar 감사합니다, 나는 그것을 스스로 알아 내려고 노력했습니다.
Jack BeNimble

0

아래 줄을 .gitignore에 추가하십시오.

*/node_modules/*

하위 디렉토리뿐만 아니라 현재 디렉토리의 모든 node_module을 무시합니다.


이 질문에 이미 허용 된 답변이 있습니다. 제발 편집 은이 질문에 이미 존재하는 다른 답변에 개선하도록 답변을.
hongsy

0

SVN / Tortoise git에서도 가능합니다.

node_modules-> Tortoise git-> add to ignore list를 마우스 오른쪽 버튼으로 클릭하십시오.

그러면 .gitIgnore가 생성되고 다시 스테이징에서 node_modules 폴더를 찾을 수 없습니다.


0
**node_modules

이것은 나를 위해 작동

하위 폴더에있는 모든 node_module을 무시하는 재귀 적 접근

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.