내용에 대한 기준에 따라 전체 폴더를 무시할 수 있습니까? 예를 들어 적어도 하나 이상의 html 파일을 포함하는 모든 폴더의 모든 내용을 무시하고 싶습니다. 어떻게 할 수 있습니까? (전혀)콘텐츠를 기반으로 폴더를 무시하는 방법
1
A
답변
2
Git에는 이러한 기능이 없으므로 어쨌든 사용하는 것이 적절하지 않습니다.
디렉토리에 파일이있는 경우 파일을 쉽게 검사하여 .html
파일이 있는지 확인할 수 있습니다. 디렉토리가 여러 개있는 경우 (하위 디렉토리가있는 경우) 간단한 명령 행에서 .html
파일을 찾고 .gitignore
에 넣는 데 필요한 규칙을 생성 할 수 있습니다.
.html
파일이 이전에 무시되지 않은 디렉토리에 나중에 작성된 경우 .gitignore
에 대한 디렉토리 경로를 추가하는 것만으로는 충분하지 않은 경우 repo에서 기존의 추적 된 파일을 제거해야합니다.
간단한 명령은 모든 .html
파일을 얻을 .gitignore
에 넣어 규칙을 생성합니다 :
find . -name '*.html' -exec dirname \{\} \; | sort -u
은 현재 디렉토리와 그 하위 디렉토리에서 모든 .html
파일을 발견하고 그들 각각에 대한 dirname
을 실행합니다. 그런 다음 find
의 출력을 sort
으로 파이프하여 정렬하고 중복을 제거합니다 (-u
).
(I 힘내과 출력을 테스트하지 않았다, 그것은 작은 미세 조정을해야 할 수도 있지만이 좋습니다.)
0
나는 git에서 직접적인 방법이 있다고 생각하지 않는다. 그러나, 당신은 검사를 수행하는 스크립트 (파이썬 등)를 실행 한 다음 gitignore를 폴더에 쓸 수 있습니다.
난 당신이 그렇게 할 수 있다고 생각하지 않습니다. git-ignore는 파일 이름을 기반으로합니다. 그러나 내용이 변경되지 않으면 .gitignore를 생성하도록 스크립트를 작성할 수 있습니다. –