*.cs 파일을 제외한 모든 것을 무시하게하는 방법은 무엇입니까?
-
20-09-2019 - |
문제
프로젝트를 시작하여 Mercurial에 추가했습니다. 그러나 나는 가져 가고 싶다 *.cs
버전 컨트롤로만 파일. 그래서 추가해야합니다 bin
, obj
, sln
, suo
, _resharper
패턴을 무시하는 폴더 등.
HG가 화이트 목록과 같은 특정 종류의 파일 만 모니터링하는 방법은 무엇입니까? 파괴적으로 어떻게 하는가?
해결책
확장자를 추가하십시오 .hgignore
당신이 그들을 만나면 파일 :
syntax: glob
*.bin
*.obj
등등. 그것은 많은 일이 아니며, 그것은 수정 제어에 중요하지 않은 파일의 어떤 종류의 파일을 정확히 세계 다른 지역에 문서화합니다.
글로벌 무시 파일을 설정할 수도 있습니다. ignore
입력 [ui]
부분.
회전하려고합니다 .hgignore
부정적인보기 정규 표현 및 기타 부두를 사용하여 거꾸로하는 것은 (내 생각에) 좋은 생각은 아닙니다. 그것은 거의 확실하게 작동하지 않으며 혼란으로 이어질 것입니다. 이 때문입니다 hg
주는 경로 이름의 모든 접두사와 일치합니다. 규칙 .hgignore
. 그래서 파일과 같은 파일
a/b/c.cs
중이 있으면 무시됩니다
a/b/c.cs
a/b
a
당신의 규칙과 일치합니다 .hgignore
파일. 특히 이것은 당신이 부정적인보기 표현을 사용할 수 없다는 것을 의미합니다. a/b/c.cs
정지되지 않은-규칙이 일치합니다 a/b
또는 a
.
다른 팁
Martin Geisler가 제공 한 수은 문제에 대한 링크와 관련하여https://www.mercurial-scm.org/bts/issue712), 문제는 기술적 인 어려움이 아니라 지원합니다.
이것은 고대적이고 반복되는 기능 요청으로,이 버그가 생성되기 전에 거절했습니다. 나는 부부가 파일 구문을 포함/제외하는 것을 작성하고 지원했으며 "아니오, 당신은 그렇게 할 수 없다"고 말하기로 결정했습니다. 사용자의 20%. - Matt Mackall (Mercurial 개발자)
이름이 지정된 파일을 추가하십시오 .hgignore
이 내용으로 저장소에.
syntax: regexp
^\.cs
Subversion은 Regex를 사용하여 파일을 무시할 수 없으며 글로벌 구문 파일/디렉토리 이름과 일치합니다. .CS로 끝나지 않는 파일을 무시하는 방법을 몰랐기 때문에 웹을 검색하고 이 웹 페이지 말 :
svn propset svn:ignore "*[!c][!s]
*.cs?*" .
주의해서 사용하십시오 :)
편집 : Martin Geisler가 옳고 실수를당했습니다. Regexp 구문이 잘못되었습니다. 사과드립니다. 올바른 개념은 있지만 Metacharacters는 없습니다 ... :(