답변:
.gitignore
다른 (하위) 디렉토리에 여러 파일 을 갖고 싶은 두 가지 이상의 상황을 생각할 수 있습니다 .
다른 디렉토리는 무시할 파일 유형이 다릅니다. 예를 들어 .gitignore
프로젝트의 최상위 디렉토리에서 생성 된 프로그램 Documentation/.gitignore
은 무시하고 생성 된 문서는 무시합니다.
단지 주어진 (하위) 디렉토리에 (당신이 사용할 수있는 특정 파일을 무시 /sub/foo
에 .gitignore
불구하고).
에 그 패턴을 기억하십시오 .gitignore
패턴은 '/'포함하지 않는 파일, 파일에있는 (하위) 디렉토리 및 모든 서브 디렉토리에 재귀 적으로 적용 (그래서 예를 들어 패턴 name
라는 이름의 파일에 적용 name
하면서, 주어진 디렉토리와 모든 서브 디렉토리에있는 /name
파일에 적용 주어진 디렉토리에서만이 이름으로).
Documentation/**/*.html
(슬래시가 패턴을 고정하고; /foo
파일을 디렉토리에 직접 고정하는 데 사용됨)
접선으로, 여러 .gitignore
파일 을 가질 수있는 기능 이 매우 유용한 경우는 작업 사본에 커밋하지 않을 추가 디렉토리를 원하는 경우입니다. .gitignore
해당 디렉토리에 1 바이트 (단일 별표 포함)를 넣으면 절대로 표시되지 않습니다 git status
.
printf \* > .gitignore
(디렉토리를 삭제하면 정리가 자동으로 수행됩니다). .git/info/exclude
더 적절한 선택이지만 많은 것은 아닌 상황이 있다고 확신 합니다.
.gitignore
물론 자체 디렉토리에 여러 개를 가질 수 있습니다 .
파일 무시에 책임이있는 gitignore 규칙을 확인하려면 다음을 사용 git check-ignore
하십시오 git check-ignore -v -- afile
.
그리고 .gitignore
브랜치마다 다른 버전의 파일을 가질 수 있습니다 . 하나의 브랜치가 파일을 무시하고 다른 브랜치가하지 않도록하는 종류의 구성을 이미 보았습니다 . 예를 들어이 질문을 참조하십시오 .
리포지토리에 여러 개의 독립적 인 프로젝트가 포함 된 경우 하위 모듈 로 참조하는 것이 가장 좋습니다 .
이것이 실제 모범 사례가 될 수 있으며, 이러한 프로젝트 각각 .gitignore
은 글로벌 상위 프로젝트의 특정 개정판에서 참조하면서 개별 파일 (각 해당 파일 과 함께)을 복제 할 수 있습니다 .
자세한 내용 은 서브 모듈의 본질을 참조하십시오 .
git 1.8.2 (2013 년 3 월) 이후 ' '에 적용 git check-ignore -v -- yourfile
되는 gitignore 실행을 확인하기 .gitignore
위해 ' yourfile
'에 적용 할 수 있으며 해당 파일이 무시되는 이유를 더 잘 이해할 수 있습니다.
" 내 규칙을 무시 하는 gitignore
규칙은 무엇입니까? "
프로 싱글
찾기 쉽다.
리포지토리의 여러 레벨에서 여러 개의 gitignore가있는 경우 제외 규칙을 사냥하는 것은 매우 어려울 수 있습니다.
여러 파일을 사용하면 일반적으로 상당한 중복이 발생합니다.
프로 멀티
범위는 필요한 파일 트리 부분에 대한 "지식"입니다.
Git은 파일 만 추적하기 때문에 빈 .gitignore가 "빈"디렉토리를 커밋하는 유일한 방법입니다.
(그리고 Git 1.8 이전에는 패턴을 제외하는 유일한 방법은 패턴 my/**.example
으로 작성 my/.gitignore
하는 것이 었습니다 **.foo
.이 이유는 지금 할 수있는 것처럼 적용되지 않습니다 /my/**/*.example
.)
모든 제외 항목을 찾을 수있는 단일 파일을 선호합니다. 나는 디렉토리 당 .svn을 놓친 적이 없으며 디렉토리 당 .gitignore도 놓치지 않을 것입니다.
즉, 여러 gitignores가 일반적입니다. 당신이 그들을 사용하는 경우, 그들과 함께 일하기에 합리적이어야합니다. 예를 들어, 루트에서 한 레벨 만 디렉토리에 넣을 수 있습니다.
empty
그 문제의 이름 을 가진 파일)을 업로드하는 것이 더 일반적 이라는 것을 알았습니다 .