Вопрос

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

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

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

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

Это было полезно?

Решение

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

Я использую следующий шаблон игнорирования 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

Другие советы

Основываясь на шаблоне игнорирования Берли, я добавил 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 ++) определенно необходимо исключить .нко Файлы

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

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

bin
.*

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

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

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

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

В Linux для начала вам захочется заблокировать **.o *, **.so *, **.a * и **.la * .Вы также можете заблокировать **~* (файл резервной копии от редактирования) и #*# (резервную копию emacs при сбое).

В Windows вам понадобятся, по крайней мере, **.obj *, **.lib * и **.dll *.

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

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

еще один, на кого следует обратить внимание, - это Анкх *.*

Не забывай NCrunch ( Хруст ) временные файлы:

*.crunchsolution.* *.crunchproject.*

И дампы ядра (cygwin, linux)

*.stackdump core.*

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

Например, запрашиваем Microsoft Office и 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.

Например, запрашиваем Microsoft Office и 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top