2016-10-20 1 views
1

내 .gitignore가 내 node_modules 디렉토리를 무시하지 못하는 이유가 무엇이든간에. 내가 git status을 할 때 그것은 무시해야하는 디렉토리 아래에있는 삭제되고 수정 된 파일들을 반환하고 있으며 마지막 커밋 이후에 추가 한 파일을 가져 오지 않습니다.내 로컬 자식 repo가 ​​깨졌습니다.

내가 뭘 잘못하고 있니?

레포는 here입니다.

.gitignore은 여기에 있습니다 : 나는 그것이 도움이 될 것입니다 붙여 넣을 수 있습니다 아무것도는

node_modules 
.idea 

# compiled output 
/public/vendor/my-app/dist 
/public/vendor/my-app/tmp 

# dependencies 
bower_components 

# IDEs and editors 
/.idea 

# misc 
/public/vendor/my-app/.sass-cache 
/public/vendor/my-app/connect.lock 
/public/vendor/my-app/coverage/* 
/public/vendor/my-app/lib/peerconnection.log 
/public/vendor/my-app/npm-debug.log 
/public/vendor/my-app/testem.log 
/public/vendor/my-app/typings 

# e2e 
/public/vendor/my-app/e2e/*.js 
/public/vendor/my-app/e2e/*.map 

#System Files 
.DS_Store 

있습니까?

+0

귀하의 Repo 링크는 404 입니다. gitignore가 프로젝트의 루트에 분명히 있습니까? – GreensterRox

+0

예. 다른 디렉토리에 다른 .gitignore가 있습니다. 그들은 상충 될 수 있습니까? – gh0st

+0

집어 올리지 않는 파일은 어디에 있습니까? –

답변

1

. .gitignore 파일에 디렉토리를 추가해도 이러한 파일은 untrack되지 않습니다. 너 스스로 그렇게해야 해.

사용

git rm --cached -r node_modules 

과는 node_modules에있는 모든 파일을 삭제 커밋 후속. --cached을 사용하면 파일 시스템이 아닌 git에서만 삭제됩니다 (특히 색인과 컴 포지 팅 후 저장소).

질문의 두 번째 부분에 대해, 당신이 준 의견은 submodule 기능을 사용하고 있고 디렉토리 public/vendor은 실제로 하위 모듈이라는 결론에 이릅니다. git documentation here을 참조하십시오. 하위 모듈의 파일을 주 저장소에 추가 할 수 없으므로 원본 저장소와 하위 모듈의 구분이 깨질 수 있습니다.

+0

그래서'git rm --cached -r node_modules'를 실행 한 후'cd node_modules'을 실행 한 다음'rm -rf *'를 실행했습니다.그 후 나는'git status '를했고 모든 파일들은 삭제를 위해 대기하기 위해 여전히 나타나고있다. 나는 저것을 저명해야 하는가? 또한'public/vendor'에 있던 다른 파일들은 준비 단계에 나타나지 않습니다. 무슨 일이 벌어지는 지 알아? – gh0st

+0

아아, 당신은 파일 시스템에서도'node_modules'의 모든 파일을 없애고 싶었습니다. 당신은'--cached' 플래그를 생략 할 수 있었고 여분의'rm -rf'없이 원하는 것을했을 것입니다. 네, 파일 삭제를 커밋해야합니다. 지금은 색인과 작업 디렉토리에서 파일이 삭제됩니다. 이러한 삭제를 커밋해야 저장소에 삭제할 수 있습니다. –

+0

'node_modules' 디렉토리를 무시하고 싶습니다. – gh0st

0

은 끝에 슬래시를보십시오 : 당신은 하위 디렉토리 node_modules에있는 파일을 추적 한

node_modules/ 
관련 문제