최고의 일반 SVN 무시 패턴?
문제
사용할 수 있는 가장 좋은(또는 가능한 한 좋은) 일반 SVN 무시 패턴은 무엇입니까?
다양한 IDE, 편집기, 컴파일러, 플러그인, 플랫폼 등이 있습니다.특정 파일과 "겹치는" 일부 파일 형식(예:일부 유형의 프로젝트에는 바람직하지만 다른 유형의 프로젝트에는 바람직하지 않습니다).
그러나 개발 환경의 세부 사항에 관계없이 소스 제어에 자동으로 포함되기를 원하지 않는 파일 형식이 많이 있습니다.
이 질문에 대한 대답은 모든 프로젝트의 좋은 출발점이 될 것입니다. 필요한 몇 가지 환경별 항목만 추가하면 됩니다.다른 버전 제어 시스템(VCS)에도 적용할 수 있습니다.
해결책
나는 이 질문에 내 자신의 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 release Release debug Debug ignore Ignore bin Bin obj Obj *.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 release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user *.generated.cs
다른 팁
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
Visual Studio에 대한 내 무시 패턴은 다음과 같습니다.
*/bin */obj */Release */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 logs output TestResults *.crunchsolution.* *.crunchproject.*
가독성을 위해 형식화됨
*/bin */obj */Release */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 logs output TestResults *.crunchsolution.* *.crunchproject.*
저장소에서 일반적으로 원하지 않는 파일을 발견할 때마다 패턴을 업데이트합니다.나는 "최고의" 패턴은 없다고 믿습니다. 항상 그렇습니다. 언어와 환경에 따라 다름 당신은 발전합니다.
더욱이, "무시할 수 있는" 파일 유형을 모두 생각할 가능성은 거의 없습니다. 단순히 포함하지 않은 파일 유형을 항상 접하게 될 것입니다.이것이 바로 패턴을 업데이트하는 것이 가장 효과적인 이유입니다.
Windows 사용자는 Desktop.ini 및 Thumbs.db를 추가할 수 있습니다.
내 Visual Studio 프로젝트에 사용됨
*/bin */obj *.user *.suo
여기에서 더 많은 파일 형식을 확장할 수 있습니다.
Visual Studio(VC++) 사용자는 반드시 제외해야 합니다. .ncb 파일
Mac 사용자는 아마도 .DS_Store를 사용하고 싶을 것입니다.게다가 Emacs나 Vim을 사용하는 개발자가 있다면 아마도 ~를 추가하고 싶을 것입니다.~ 그리고 ##.
Eclipse의 경우 다음을 사용합니다.
bin
.*
.*는 모든 프로젝트 구성을 가져옵니다.'숨겨진' 디렉토리나 파일을 체크인하고 싶지는 않을 것입니다. 그러나 그것이 나타나면 여전히 svn add할 수 있습니다.
프로젝트의 일부로 타사 libs 및 dll을 사용하고 있을 수 있으므로 저장소에서 *.lib 및 *.dll을 차단하는 것이 현명하지 않습니다.이것들은 저장소에 저장되도록 되어 있는 것들입니다.
Visual Studio 2010 사용자는 추가해야 합니다. ipch
(C++ 미리 컴파일된 헤더가 포함된 폴더) 및 *.sdf
(모든 종류의 프로젝트에 Intellisense가 사용하는 거대한 파일).
패턴은 사용 중인 운영 체제에 따라 다릅니다.
Linux에서는 먼저 **.o*, **.so*, **.a* 및 **.la*를 차단하는 것이 좋습니다.또한 **~*(편집 시 파일 백업) 및 #*#(충돌 시 emacs 백업)을 차단할 수도 있습니다.
Windows에서는 최소한 **.obj*, **.lib* 및 **.dll*이 필요합니다.
차단해야 하는 다른 파일은 IDE, 편집기 및 컴파일러에 따라 다릅니다.
Resharper를 사용한다면 믹스에 추가해야 합니다.
주목해야 할 또 다른 사람은 Ankh*입니다.*
잊지 마세요 NCrunch 임시 파일:
*.crunchsolution.* *.crunchproject.*
그리고 코어 덤프(cygwin, linux)
*.stackdump core.*
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
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