Лучший генерал SVN Ignore Pattern? - PullRequest
172 голосов
/ 17 сентября 2008

Каков наилучший (или настолько хороший, насколько это возможно) общий шаблон игнорирования SVN для использования?

Существует ряд различных файлов IDE, редактора, компилятора, плагина, платформы и т. Д. И некоторые типы файлов, которые «перекрываются» (т.е. желательно для одних проектов, а не для других).

Однако существует большое количество типов файлов, которые вы просто никогда не захотите включить в систему управления версиями автоматически, независимо от особенностей среды разработки.

Ответ на этот вопрос послужит хорошей отправной точкой для любого проекта, требующего лишь добавления нескольких необходимых им элементов среды. Он также может быть адаптирован для других систем контроля версий (VCS).

Ответы [ 17 ]

191 голосов
/ 17 сентября 2008

Я добавлю свои два цента к этому вопросу:

Я использую следующий шаблон игнорирования SVN с TortoiseSVN и Subversion CLI для собственных проектов C ++, C # / VB.NET и PERL на платформах Windows и Linux. Это хорошо работает для меня!

Отформатировано для копирования и вставки:

*.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
44 голосов
/ 09 мая 2009

На основании шаблона игнорирования Берли я добавил 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
34 голосов
/ 29 ноября 2009

Мой шаблон игнорирования для 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.*
17 голосов
/ 17 сентября 2008

Каждый раз, когда я сталкиваюсь с файлом, который я обычно не хочу в хранилище, я обновляю шаблон. Я считаю, что «лучшего» шаблона не существует - он всегда зависит от языка и среды , в которой вы разрабатываете.

Более того, вы вряд ли будете думать обо всех возможных «игнорируемых» типах файлов - вы всегда будете сталкиваться с типом файла, который вы просто забыли включить. Вот почему обновление шаблона по ходу работы работает лучше всего.

12 голосов
/ 17 сентября 2008

Пользователи Windows могут захотеть добавить файлы desktop.ini и thumbs.db.

4 голосов
/ 17 сентября 2008

Используется для моих проектов Visual Studio

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

Оттуда вы можете расширить другие типы файлов.

3 голосов
/ 17 сентября 2008

Пользователи Visual Studio (VC ++) определенно должны исключить .ncb файлы

1 голос
/ 17 сентября 2008

Для Eclipse я использую:

bin
.*

. * Получает всю конфигурацию проекта. Вы почти никогда не захотите проверить «скрытый» каталог или файл, но если он появится, вы все равно можете добавить его в SVN.

1 голос
/ 17 сентября 2008

Пользователи Mac, вероятно, хотят добавить .DS_Store. Кроме того, если есть разработчики, использующие Emacs или Vim, вы, вероятно, захотите добавить ~ ~ и # #.

1 голос
/ 09 октября 2008

Поскольку вы можете использовать сторонние библиотеки и библиотеки DLL как часть проекта (-ов), я не вижу смысла в блокировании * .lib и * .dll из репозитория. Это те вещи, которые должны храниться в хранилище.

...