Gitignore 테스터
.gitignore 규칙과 파일 경로 목록을 붙여넣어 정확히 어떤 파일이 무시되는지, 어떤 규칙과 행에 의해 정확한지, 상위 디렉토리가 이미 무시되었기 때문에 어떤 부정 규칙이 자동으로 종료되었는지 확인하세요.
결과
"내 .gitignore 부정이 작동하지 않는 이유는 무엇입니까?" 는 가장 일반적인 git 질문 중 하나이며 솔직한 대답은 거의 항상 동일합니다. 이전 규칙에서 이미 제외된 디렉토리 내에 파일을 다시 포함시키려는 `!pattern`은 절대 작동하지 않습니다. 왜냐하면 git은 무시된 디렉토리로 내려와 내부의 내용을 다시 확인하지 않기 때문입니다. 이 도구는 근사치가 아닌 git의 실제 .gitignore 일치 알고리즘을 다시 구현하므로 git이 지원하는 다른 모든 패턴 규칙과 함께 정확한 상황을 파악하고 설명할 수 있습니다.
.gitignore 규칙을 한 상자에 붙여넣고 파일 경로 목록(`dist/index.js`, `node_modules/foo/bar.js` 또는 `.env`와 같이 한 줄에 하나씩)을 다른 상자에 붙여넣으면 도구는 git이 하는 것과 똑같이 각 경로를 평가합니다. 주석과 빈 줄을 건너뛰고, 이스케이프하지 않으면 후행 공백이 제거되고, 선행 `!`은 규칙을 무효화하고, 선행 `/`은 이를 허용하는 대신 루트에 고정합니다. 어떤 깊이에서든 일치하며 후행 `/`는 이를 디렉터리로 제한하고 `*`, `?`, `[abc]` 문자 클래스 및 `**`(디렉터리 경계 간 일치)는 모두 문서화된 glob 규칙에 따라 작동합니다.
중요한 점은 git의 자체 무시 엔진이 작동하는 것과 동일한 방식으로 루트부터 디렉터리별로 경로를 확인한다는 것입니다. — 격리된 모든 규칙에 대해 전체 경로를 테스트하는 것이 아닙니다. 이것이 데드 부정 사례를 올바르게 감지하는 것을 가능하게 하는 것입니다: `dist/`가 3행에서 무시되고 나중에 `!dist/keep.js`가 그 안에 있는 하나의 파일을 구출하려고 시도하는 경우, 이 도구는 `dist/keep.js`를 여전히 무시된 것으로 보고하고, 3행 규칙의 이름을 이유로 지정하고, 조용히 작동한 척하기보다는 부정에 그림자가 있는 것으로 별도로 플래그를 지정합니다.
결과 테이블은 테스트된 모든 경로에 명확한 예/아니요 무시 판정, 이를 결정한 정확한 규칙 텍스트 및 줄 번호, 그리고 관련이 있을 때마다 숨겨진 부정 또는 상속된 상위 디렉터리 규칙을 설명하는 일반 언어 메모가 포함된 자체 행을 제공합니다. 이는 혼란스러운 .gitignore를 커밋하기 전에 실제로 추론할 수 있는 것으로 바꾸는 세부 사항입니다.