2014-07-15 4 views
0

답변 된 질문 삭제에 대해서는 SO가 권고하므로 여기에 남겨 둘 예정이지만 설명이 이미 인용 된 텍스트에 있음을 설명하는 John의 답변을 참조하십시오..gitignore from parentmodule이 하위 모듈에는 적용되지 않습니까?

경로로 같은 디렉토리에 .gitignore 파일에서 읽어 패턴, 또는에서 :

맨 페이지에 따르면,이 자식 명령은 루트 디렉토리에 대한 디렉토리 계층 구조를 위로 올라갈 것 같다 상위 디렉토리의 패턴과 함께 하위 디렉토리에있는 파일 (작업 트리의 최상위 레벨까지)은 파일을 포함하는 디렉토리 아래의 하위 파일에있는 에 의해 대체됩니다.

우리 프로젝트에는 많은 자식 서브 모듈이 있으며 모든 프로젝트에 적용 할 수있는 상위 모듈에서 단일 .gitignore를 사용할 수 있기를 바랬습니다.

하지만 작동하지 않는 것 같습니다. .gitignore에 대한 검색이 저장소 루트에서 중지됩니까? 나는 실수하고 싶다.

$ git --version 
git version 1.8.5.5 
$ grep target ../.gitignore # the .gitignore in the parent module 
target 
**/target/ 
$ git status --porcelain # feature/target/ matches **/target but is not ignored 
?? feature/target/ 
?? update-site/target/ 
$ echo '**/target/' >> .gitignore # add it to submodule repo root 
$ git status --porcelain 
M .gitignore 

답변

0

.gitignore에 대한 검색 저장소 루트에서 중지 않습니다. 게시 한 문서는 그 자체만큼 ("작업 트리의 최상위 수준까지") 말합니다. 이것은 다른 저장소와 마찬가지로 서브 모듈에 대해 다르게 작동하지 않습니다.

리포지토리 전체에서 동일한 무시 규칙을 사용하려면 동일한 .gitignore을 각 repo에 확인하거나 전역 무시 규칙을 사용해야합니다 (물론 로컬 컴퓨터에만 적용되지만 로컬 컴퓨터에만 적용됩니다. 그들 안에).

+0

나는 작업 트리에 관한 부분을 무시할 수 있었다 :) 나는 단지 내가 읽고 싶었던 것을 읽었다 고 생각한다. 빠른 답장을 보내 주셔서 감사합니다. 그러나이 질문을 삭제하십시오. –

관련 문제