Файлы, которые следует игнорировать при использовании Visual Studio с Git

Я установил Git, чтобы сделать некоторую разработку с помощью Visual Studio 2008. Большая часть работы будет новой разработкой, но у нас есть несколько старых проектов от VS2005, которые я хочу перенести в новый репозиторий. Существует существующий поток об общей VS/Git интеграции, но мой вопрос ограничен файлом .gitignore и Visual Studio.

Мой вопрос состоит из двух частей:

  • Какие записи должны быть включены в файл .gitignore для покрытия определенных файлов Visual Studio, таких как двоичные файлы, сборки, файлы отладки и т.д.? Некоторые из них были освещены в упомянутой выше теме, но есть ли всеобъемлющий набор?

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

Я уже знаю, КАК. Вот выдержка из Git user-manual при игнорировании файлов.

Если вы хотите, чтобы шаблоны исключений затрагивают только определенные репозитории (вместо каждого хранилища для данный проект), вы можете вместо этого поставить их в файл в вашем репозитории named.git/info/exclude или в любом файл, указанный Конфигурация core.excludesfile переменная. Некоторые команды Git также могут исключить шаблоны непосредственно на командная строка. См. gitignore (5) для подробности.

Ответ 1

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

*.obj
*.exe
*.exp
*.pdb
*.dll
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.zip
[Dd]ebug*/
*.lib
*.sbr
Thumbs.db
[Ll]ib/
[Rr]elease*/
[Tt]est[Rr]esults/
_UpgradeReport_Files/
_ReSharper.*/

Ответ 3

Следует игнорировать:

  • каталог bin
  • каталог obj
  • *.suo
  • *.user