Mercurial의 폴더 아래에있는 모든 것을 어떻게 무시할 수 있습니까?


149

지정된 폴더 아래의 모든 파일을 무시하기 위해 .hgignore 파일에 대한 표현식을 찾고 있습니다.

예 : bin 아래의 모든 파일과 폴더를 무시하고 싶습니다.

실제로 표현이 어떻게 형성되는지에 대한 조언은 훌륭합니다.

답변:


173

번갈아:

syntax: glob
bin/**

이것은 내가 생각하는 것이 훨씬 쉽다 :)
Xian

필리 호는 bin이라는 파일도 걸러 낼 것이라고 생각합니다.
Peter Gibson

1
이 답변과이 문서가 도움이되었습니다 : selenic.com/mercurial/hgignore.5.html
CenterOrbit

7
bin bin/ bin/* bin/**-모두 glob와 동일한 작업을 수행합니다. 즉, bin이라는 모든 디렉토리 및 서브 디렉토리는 무시하지만 파일 이름 bin.txt 또는 bin1은 무시하십시오. 아스테릭스의 요점은 무엇입니까?
사용자

당신이 글로브 규칙을 내면화 한 경우처럼 나는 명확하게, 그러나 확실하게 사용 '빈'으로 (나는거야 re사람의 종류)
Ry4an Brase

53

몇 가지 실험을했는데 Windows의 정규 표현식 구문이 현재 저장소로 시작하는 경로에 적용되며 백 슬래시는 슬래시로 변환됩니다.

예를 들어 리포지토리가 E : \ Dev에 있으면 hg statusfoo / bar / file1.c 등에 패턴을 적용합니다. 앵커는이 경로에 적용됩니다.

그래서:

  • Glob은 경로 요소에 적용되며 요소 부분에 뿌리
  • foo는 foo라는 이름의 폴더 (또는 파일)와 일치합니다 ( "foobar"나 "barfoo"가 아님)
  • * foo *는 이름에 "foo"가있는 모든 폴더 또는 파일과 일치합니다.
  • foo / bar *는 "bar"로 시작하는 "foo"폴더의 모든 파일과 일치합니다.


  • 정규식은 대소 문자를 구분하며 고정되지 않습니다.
  • 물론 백 슬래시 정규 표현식 특수 문자는와 같습니다. (점)
  • /는 Windows의 \ 경로 구분 기호와 일치합니다. \이 구분 기호와 일치하지 않습니다 ...
  • foo는 내부에 "foo"가있는 모든 파일 및 폴더와 일치합니다.
  • foo /는 "foo"로 끝나는 폴더와 만 일치합니다
  • / foo /는 경로의 "foo"폴더와 일치합니다.
  • / foo / bar /는 경로의 "foo"폴더에있는 "bar"폴더와 일치합니다.
  • ^ foo는 저장소 루트에서 foo로 시작하는 파일 또는 폴더와 일치합니다.
  • foo $는 foo로 끝나는 파일과 일치합니다

이것이 도움이되기를 바랍니다 .HGIGNORE (5) 페이지가 간결 하다는 것을 알았습니다 .


나는 ''[Dd] ebug * / ''패턴을 사용하고 이상한 것은 ''debug.txt ''와 같은 파일 을 필터링한다는 것입니다.
Mehrdad Mirreza

9

둘 다라는 디렉토리를 필터링하여 원하는 디렉토리 cabin가 아닐 수도 있습니다. 최상위 수준을 필터링하는 경우 다음을 사용할 수 있습니다.

^/bin/

들어 bin루트 아래에있는 디렉토리, 당신은 ^를 생략 할 수 있습니다. 구문을 지정할 필요가 없으며 regexp가 기본값입니다.


4
이것은 아무것도 무시하지 않습니다. 캐럿은 repo 루트의 내용 만 말하지만 선행 슬래시는 repo 루트가 아닌 먼지 만 잡습니다.
Ry4an Brase

2

신경 쓰지 마

syntax: regexp
bin\\*

표현식은 표준 perl 정규 표현식 구문을 따릅니다.


2
실제로, 표현은 "bin으로 끝나고 그 뒤에 0 이상의 백 슬래시가 오는 파일 또는 폴더"를 의미합니다. 따라서 백 슬래시는 *로 무효화되기 때문에 작동하지만 "bin"이있는 모든 항목에 적용됩니다. Windows에서 hg는 일치하기 전에 \로 /를 대체합니다.
PhiLho December

2

구문 : glob bin / **

이 답변은 위에 표시되어 있지만 *와 **는 다르게 처리된다는 점을 추가하고 싶습니다. **는 재귀 적이며 *는 아닙니다.

Hg 패턴 참조


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.