Какие файлы .net следует исключить из системы контроля версий? - PullRequest
29 голосов
/ 14 июня 2009

Какие расширения файлов из приложения .net следует исключить из системы контроля версий и почему, пожалуйста?

Ответы [ 4 ]

29 голосов
/ 14 июня 2009

Зависит от проекта, но у меня есть следующее для проекта Silverlight + WPF в моем .gitignore:

# Visual Studio left-overs
*.suo        # 'user' settings like 'which file is open in Visual Studio'
*.ncb        # Used for debugging
*.user
*.ccscc      # Used for versioning
*.cache

# Editor left-overs
*~           # (x)emacs
*.bak        # Windows related
\#*\#        # (x)emacs
*.orig       # Own usage

# Compiled files
*/bin/
*/obj/
*/Obj/       # git is case sensitive
*/Generated_Code/
PrecompiledWeb
*/ClientBin
# Windows left-overs
Thumbs.db    # Having images in the source tree generates those files in Explorer

Однако, «.suo» несколько проблематичен: он также содержит «пользовательские» настройки, которые должны были быть настройками проекта, такими как стартовая страница приложения Silverlight.

Лучший и единственный способ - итеративно добавлять файлы для исключения. Если вы используете git, используйте git-gui для быстрого и интерактивного просмотра списка файлов, которые вы забыли исключить. Адаптируйте .gitignore и обновите в git-gui. Повторяйте до тех пор, пока не останетесь те файлы, которые вы ввели.

Некоторые типы файлов не совсем понятны. Убедитесь, что вы понимаете все файлы, которые вы регистрируете. Например, для служб RIA в нашем проекте Silverlight у нас была база данных аутентификации, сгенерированная Visual Studio, которая содержала 2 учетные записи и привела к созданию здоровенного файла базы данных размером 10 МБ .MDB (!). Как только мы поняли, откуда это взялось, изменение его на дамп SQL уменьшило размер до (все еще здоровенного) 500 КБ. Всегда требуется постоянная (повторная) проверка перед самой регистрацией, поэтому нет определенного списка.

3 голосов
/ 14 июня 2009

Это действительно зависит от вашей системы сборки. Проверьте минимальное количество файлов, необходимых для полной сборки.

Как правило, это означает, что вы исключаете все, кроме файлов csproj и * .cs. Вы можете проверить свой файл .sln, если хотите.

1 голос
/ 14 января 2011

Я получил свой список от этого вопроса: Лучший общий шаблон игнорирования SVN?

Как и любой «список», обязательно просмотрите исключения и убедитесь, что все они соответствуют / не соответствуют вашим потребностям, но это хорошее начало.

0 голосов
/ 09 мая 2019

Вот список минимальных записей, которые я использую в последних проектах .NET.

*.vs
*.user
*.cache
bin/
obj/
  • В первой записи пропущена скрытая папка .vs и ее содержимое.
  • Последние два ничего не значат в этих папках.

Не стесняйтесь добавлять комментарии в случае повторного голосования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...