비슷한 질문 ( 1 , 2 및 3 )을 보았지만 적절한 해결책을 얻지 못했습니다.
특정 파일 형식을 제외하고 특정 폴더 아래의 모든 파일을 무시해야합니다. 폴더는 루트 경로의 하위 디렉토리입니다. 폴더 이름을 지정하겠습니다 Resources
. 나는 일을 복잡하게하고 싶지 않기 때문에, 이름이 Resources
있는 모든 폴더 아래의 파일을 무시하겠습니다 .
이것은 모든 중복 질문에서 가장 일반적인 솔루션입니다.
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
이 솔루션의 문제점은 새로 추가 된 파일의 추적을 중지 한다는 것입니다 ( *
모든 파일을 무시 하므로 ). 모든 파일 형식을 계속 제외하고 싶지는 않습니다. 새 파일이 추가되면 git status
표시 되는 정상적인 동작을 원합니다 .
마침내 여기 에 해결책이 생겼습니다 . 해결책은 폴더 에 다른 .gitignore
파일 을 추가하는 것 Resources
입니다. 이것은 올바르게 작동합니다.
하나의 무시 파일로 동일한 결과를 얻을 수 있습니까? 나는 다른 디렉토리에 많은 무시 파일이 약간 어색하다는 것을 알았습니다.
이것이 내가 달성하려는 것입니다.
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
그러나 이것은 반대 출력을 제공합니다. *.foo
유형을 무시 하고 다른 파일을 추적합니다.
DirectoryName1/** DirectoryName1/**/*
각각에 대해 수행했습니다. Firs는 디렉토리를 제거하지만 모든 파일 유형을 제거하려면 두 번째가 필요합니다.