0

Gitignore 테스터

.gitignore 규칙과 파일 경로 목록을 붙여넣어 정확히 어떤 파일이 무시되는지, 어떤 규칙과 행에 의해 정확한지, 상위 디렉토리가 이미 무시되었기 때문에 어떤 부정 규칙이 자동으로 종료되었는지 확인하세요.

Buy Me a Coffee at ko-fi.com
처리 중... 0%
.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를 커밋하기 전에 실제로 추론할 수 있는 것으로 바꾸는 세부 사항입니다.