171

Какой лучший (или как можно лучше) общий шаблон игнорирования SVN использовать?Лучший генератор SVN Ignore Pattern?

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

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

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

+0

Здравствуйте Заком, я читал этот пост твой: HTTP: //www.zachburlingame. com/2011/03/install-mercurial-and-hosting-repositories-with-centos/и у меня есть пара вопросов. Есть ли у вас способ связаться с вами? Спасибо за ваше время ... P.S: Не удалось найти какой-либо другой способ связаться с вами, кроме как через этот комментарий здесь, извините за досаду – Brams 2014-07-09 08:56:20

ответ

190

я добавлю свои два цента на этот вопрос:

Я использую следующие 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 
+0

@blorgbeard - Я отменяю ваши изменения форматирования, потому что считаю, что желательно иметь все это на одной строке для копирования/вставки в конфигурационный файл SVN (который не принимает многострочный ввод). – 2009-07-12 16:25:13

+0

Изменил его. – 2009-07-17 17:11:08

+5

Что относительно * .tmp * .temp? – 2009-07-17 17:15:09

4

Используется для моего Visual Studio проекты

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

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

+0

Я видел подобный список ранее сегодня - в чем разница между */bin и просто bin?Предполагая, что вы хотите игнорировать всю папку. – harpo 2008-09-17 17:03:28

+0

Прочтите раздел 5.13. Игнорирование файлов и каталогов файла справки TortoiseSVN. – icelava 2008-09-18 14:31:22

+5

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-ignore.html Там говорится, что вы не должны включать/или \, а их включение - наследие более ранних версий – 2009-07-09 15:33:42

12

пользователей Windows, возможно, захотите, чтобы бросить в desktop.ini и Thumbs.db.

3

Визуальные пользователи Студия (VC++), безусловно, необходимо, чтобы исключить .ncb файлы

17

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

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

1

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

0

Шаблон зависит от используемой операционной системы.

В Linux вам нужно будет заблокировать **. O *, **. So *, **. A * и **. La * для начала. Вы также можете заблокировать ** ~ * (резервный файл от редактирования) и # * # (резервная копия emacs из-за сбоя).

В Windows вы захотите **. Obj *, **. Lib * и **. Dll * по крайней мере.

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

1

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

bin 
.* 

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

1

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

44

на основе шаблона игнорирования дородный, я добавил 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 
33

Мои игнорировать шаблон для 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.* 
0

Должен добавить Resharper в смесь, если вы используете один.

еще один, чтобы высматривать является Анк *. *

1

Visual Studio 2010 пользователи должны добавить ipch (папку, которая содержит скомпилированные заголовки C++) и *.sdf (огромные файлы, используемые IntelliSense для любого вида проекта).

0

Не забудьте NCrunch временные файлы:

*.crunchsolution.* *.crunchproject.* 
0

И дампы ядра (Cygwin, Linux)

*.stackdump core.* 
0

gitignore.io обеспечивает настраиваемые шаблоны для мерзавца. Они предоставляют читаемый список, который вам нужно переформатировать для SVN.

Например, requesting MicrosoftOffice and 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 обеспечивает настраиваемые шаблоны для мерзавца. Они предоставляют читаемый список, который вам нужно переформатировать для SVN.

Например, requesting MicrosoftOffice and 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