가장 일반적인 SVN은 패턴을 무시합니까?


175

사용하기에 가장 좋은 일반 SVN 무시 패턴은 무엇입니까?

여러 가지 다른 IDE, 편집기, 컴파일러, 플러그인, 플랫폼 등의 특정 파일과 "오버랩"되는 일부 파일 유형이 있습니다 (즉, 일부 유형 프로젝트에는 바람직하지만 다른 유형에는 적합하지 않음).

그러나 개발 환경의 특정 사항에 관계없이 소스 제어에 자동으로 포함시키지 않으려는 많은 파일 유형이 있습니다.

이 질문에 대한 답은 모든 프로젝트에 좋은 출발점이 될 것입니다. 필요한 몇 가지 환경 관련 항목 만 추가하면됩니다. 다른 버전 제어 시스템 (VCS)에도 적용 할 수 있습니다.


Zach, 안녕하세요. zachburlingame.com/2011/03/… 의이 게시물을 읽었 으며 몇 가지 질문이 있습니다.이 문제를 해결할 수있는 방법이 있습니까? 덕분에 당신의 시간을 ... 추신 : 두통에 대한 죄송합니다, 당신이 여기이 댓글을 통하지 도달하는 다른 방법을 찾을 수 없습니다
Brams

답변:


193

이 질문에 2 센트를 추가하겠습니다 :

Windows 및 Linux 플랫폼 모두에서 네이티브 C ++, C # / VB.NET 및 PERL 프로젝트에 TortoiseSVN 및 Subversion CLI와 함께 다음 SVN 무시 패턴을 사용합니다. 그것은 나를 위해 잘 작동합니다!

복사하여 붙여 넣기를위한 형식 :

* .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store thumbs.db Thumbs.db * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .lib * .log * .idb * .pdb * .ilk * .msi * .res * .pch * .suo * .exp *. * ~ *. ~ * ~ *. * cvs CVS .CVS .cvs 릴리스 릴리스 디버그 디버그 무시 bin Bin 무시 * .csproj.user * .user * .generated.cs

가독성을위한 형식 :

* .o * .lo * .la # * #. *. rej * .rej
. * ~ * ~. # * .DS_Store thumbs.db 
Thumbs.db * .bak * .class * .exe * .dll
* .mine * .obj * .ncb * .lib * .log 
* .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
* .exp *. * ~ *. ~ * ~ *. * cvs CVS .CVS .cvs  
릴리스 릴리스 디버그 디버그
Bin Bin obj Obj 무시
* .csproj.user * .user
* .generated.cs

5
* .tmp * .temp는 어떻습니까?
Bob King

3
또한 WPF * .g.vb * .g.cs * .baml * .GenerateResource.Cache * .cache를 수행하는 경우
Bob King

6
.dll은 리포지토리에서도 참조 어셈블리를 커밋해야 할 때 필요할 수 있습니까?
Jaroslav Urban

6
@Xabatcha-전역 무시 패턴으로 나열되는지 여부에 관계없이 확장명 (또는 폴더)의 파일을 항상 명시 적으로 포함 할 수 있습니다. 일반적으로 SVN에서 * .dll을 추적하지 않으려는 경우 항상 필요한 항목을 명시 적으로 추가 할 수 있습니다 (제 3 자 어셈블리의 경우 종종 수행함).
Zach Burlingame

2
ReSharper를 사용하고 있다면 추가하십시오
autonomatt

44

Burly의 무시 패턴에 따라 ReSharper를 무시 목록에 추가했습니다.

복사하여 붙여 넣기를위한 형식 :

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user

가독성을위한 형식 :

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs
CVS .CVS .cvs release Release debug
Debug ignore Ignore bin Bin obj Obj
*.csproj.user *.user _ReSharper.* *.resharper.user

1
_ReSharper. *
Dve

1
Dve의 의견은 위의 패턴에 통합되었습니다. 다시 추가 할 필요가 없습니다.
Hydrargyrum

34

Visual Studio의 무시 패턴 :

* / bin * / obj * / 릴리스 * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * bin obj * .resharperoptions * .db * .bak * _ReSharper * * .snk 로그 출력 테스트 결과 * .crunchsolution . * * .crunchproject. *

가독성을위한 형식

* / bin * / obj * / 릴리스 * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe 
* .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.로드 thumbs.db * .resharper 
* .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * bin obj 
* .resharperoptions * .db * .bak * _ReSharper * * .snk는 출력 결과를 기록합니다 
* .crunchsolution. * * .crunchproject. *

16

일반적으로 저장소에서 원하지 않는 파일을 발견 할 때마다 패턴을 업데이트합니다. "최상의"패턴은 없다고 생각 합니다. 개발 하는 언어와 환경에 따라 다릅니다 .

또한, 가능한 모든 "무시할 수있는"파일 유형을 생각할 가능성은 거의 없습니다. 단순히 포함하지 않은 파일 유형을 항상 보게됩니다. 따라서 패턴을 업데이트하는 것이 가장 효과적입니다.


2
나는 절대적인 의미에서 "최상의"패턴이 없다는 것에 동의합니다. 당신은 맞습니다, 당신은 그것들을 모두 열거하지는 않을 것이고 그것은 또한 내가 말한 lang & env에 달려 있습니다. 그러나 박쥐에서 바로 넉 아웃 할 수있는 숫자가 많습니다 .
Zach Burlingame

1
또한 단일 개발자 환경에서 작업을 추가하면서 올바르게 작동하는 동안 프로젝트에 여러 개발자가있는 경우 공통 프로젝트 무시 패턴을 갖는 것이 바람직합니다. 당신은 가능한 한 자주 업데이트하지 않기를 원합니다. 그래서 당신은 가능한 한 많은 것을 기각하고 싶습니다
Zach Burlingame

물론 * .bin * .bak * .pdb * .suo 등의 일반적인 패턴을 미리 설정해야합니다. 그러나 저장소 폴더에서 무시 속성을 설정하면 효과적으로 공유됩니다. 비록 이것이 당신이 의도 한 것이 아니라는 것을 알고 있습니다.
petr k.

11

Windows 사용자는 desktop.ini 및 thumbs.db를 던질 수 있습니다.


4

내 Visual Studio 프로젝트에 사용

*/bin */obj *.user *.suo

거기에서 더 많은 파일 형식을 확장 할 수 있습니다.


오늘 초 비슷한 목록을 보았습니다. * / bin과 bin의 차이점은 무엇입니까? 전체 폴더를 무시한다고 가정합니다.
하포

섹션 5.13을 읽으십시오. TortoiseSVN 도움말 파일의 파일 및 디렉토리 무시
icelava

5
tortoisesvn.net/docs/release/TortoiseSVN_en/… 여기에 / 또는 \를 포함해서는 안되며, 포함시키는 것은 이전 버전의 유산이라고 말합니다
Simon D

@Simon, "글로벌 무시 목록에 경로 없음"삽입은 경로가 괜찮지 svn:ignore만 전역 무시 목록에는 없다고 말하는 것이 아닙니까?
Matthew Flaschen

3

Visual Studio (VC ++) 사용자는 반드시 .ncb 파일 을 제외해야 합니다.


1

Mac 사용자는 아마도 .DS_Store에 넣기를 원할 것입니다. 또한 Emacs 또는 Vim을 사용하는 개발자가 있다면 ~ ~와 # # 을 추가하고 싶을 것입니다 .


1

Eclipse의 경우 다음을 사용합니다.

bin
.*

. *는 모든 프로젝트 구성을 가져옵니다. '숨겨진'디렉토리 나 파일을 거의 체크인하고 싶지 않지만, 그것이 나타나면, svn 추가 ​​할 수 있습니다.


* .user 파일뿐만 아니라 obj도 필요
jrojo

1

프로젝트의 일부로 타사 라이브러리와 dll을 사용하고 있기 때문에 저장소에서 * .lib 및 * .dll을 차단하는 지혜는 보이지 않습니다. 이것들은 저장소에 저장되는 것입니다.


5
타사 라이브러리, dll, exe 등을 사용하는 경우 명시 적으로 추가하십시오. 전체 타사 트리를 수행하려면 무시 패턴을 일시적으로 비활성화하십시오. 그러나 일상적인 개발 중에 이러한 유형이 암시 적으로 선택되는 것을 원하지 않으므로 패턴에 포함됩니다.
Zach Burlingame

1

Visual Studio 2010 사용자는 ipch(C ++ 사전 컴파일 된 헤더가 포함 된 폴더) 및 *.sdf(모든 종류의 프로젝트에 대해 인텔리전스가 사용하는 거대한 파일 )을 추가해야합니다 .


0

패턴은 사용중인 운영 체제에 따라 다릅니다.

Linux에서는 **. o *, **. so *, **. a * 및 **. la *를 차단해야합니다. ** ~ * (백업 파일 편집) 및 # * # (크래시에서 emacs 백업)을 차단할 수도 있습니다.

Windows에서는 최소한 **. obj *, **. lib * 및 **. dll *이 필요합니다.

차단해야하는 다른 파일은 IDE, 편집기 및 컴파일러에 따라 다릅니다.


0

Resharper를 사용하면 믹스에 Resharper를 추가해야합니다.

주의해야 할 또 다른 것은 Ankh *입니다. *


예, Visual Studio를 제외한 대부분의 도구 관련 플래그는 제외했습니다. 다른 사람들이 다양한 도구에 대한 명시 적 파일 패턴 목록으로 계속해서 답변을 추가하기를 바랍니다.
Zach Burlingame



0

gitignore.io 는 git에 대해 구성 가능한 패턴을 제공합니다. SVN을 위해 다시 포맷해야하는 읽기 쉬운 목록을 제공합니다.

인스턴스에 대한 요청 MicrosoftOffice 및 Windows 반환

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

0

gitignore.io 는 git에 대해 구성 가능한 패턴을 제공합니다. SVN을 위해 다시 포맷해야하는 읽기 쉬운 목록을 제공합니다.

인스턴스에 대한 요청 MicrosoftOffice 및 Windows 반환

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

직접 사용할 수있는 것 같습니다 svn:global-ignore

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