Какие типы файлов Visual С++ должны быть привязаны к контролю версий?

Какие типы файлов Visual Studio\Visual С++ должны быть привязаны к контролю версий?
В моем проекте у меня есть следующие типы файлов:

aps
cpp
exe
filters
h
ico
idb
ipch
lastbuildstate
lib
log
manifest
obj
pch
pdb
rc
rc2
res
sdf
sln
suo
tlog
txt
user
vcxproj

Я был бы очень признателен за короткую аргументацию для каждого. Если какой-либо из них противоречив, обратите внимание на это. Я намеренно включаю даже тривиальные типы файлов для полноты.

ИЗМЕНИТЬ

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

Ответ 1

Да:

  • cpp: исходный код
  • фильтры: файл проекта
  • h: исходный код
  • ico: resource
  • rc: resource script
  • rc2: ресурс script
  • sln: файл проекта
  • txt: элемент проекта
  • vcxproj: файл проекта
нет

Нет:

  • aps: состояние последнего ресурса.
  • exe: результат сборки
  • idb: построить состояние
  • ipch: создать хелпер
  • lastbuildstate: создать хелпер
  • lib: построить результат. Может быть третьим лицом.
  • журнал: журнал сборки
  • manifest: build helper. Можете писать сами.
  • obj: создать хелпер
  • pch: build helper
  • pdb: результат сборки
  • res: создать хелпер
  • sdf: intellisense dbase
  • suo: параметры пользователя решения
  • tlog: построить журнал
  • пользователь: параметры отладки. Сохранять, если только один разработчик или настраиваемые параметры отладки

Некоторые из них - это то, что они могут быть автоматически сгенерированы и сохранены. И еще несколько, которые не отображаются в вашем списке. В первую очередь обратите внимание на расположение файла. Если он находится в вашем каталоге решений или проектов, то, скорее всего, вы захотите его проверить. В подкаталогах Debug или Release это маловероятно. Build + Clean удаляет много шумовых файлов. И, конечно же: регистрация, переименование каталога проекта, выписка и подтверждение того, что она построена.

Ответ 2

Из вашего списка я бы выбрал те:

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

Как правило, вы должны обновить все файлы, необходимые для создания проекта. Автоматически сгенерированные файлы не должны архивироваться imho.

Ответ 3

Как было предложено Microsoft, типы файлов, которые должны быть включены в управление версиями:

.mak,.dsp,.c,.rc,.rc2,.ico,.bmp,.txt,.def,.hpj,.bat,.rtf,.odl,.inf,.reg,.cnt,.cpp,.cxx,.h,.hpp,.hxx,.inl,.tpl,.vtp и .mst...

Типы файлов, которые не должны быть включены:

.pch,.mdp,.ncb,.clw,.obj,.exe,.aps,.cpl,.awk,.exp,.lib,.idb,.opt,.pdb,.map,.res,.ilk,.scc,.bsc,.sbr,.dll и .tlb...

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

INFO: какие файлы Visual С++ для добавления в исходный код

Ответ 4

Если вы щелкнете правой кнопкой мыши по проекту, в контекстном меню должна быть опция "Добавить решение в исходное".

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

Ответ 5

Другие ответы превосходны; Я просто подумал, что сделаю полезный маленький инструмент. Ознакомьтесь с Visual Studio .gitignore на GitHub. Это хороший активный список файлов, который обычно не поддерживается версией.

И пока вы на нем, весь репозиторий gitignore - очень полезный ресурс для всех видов развития от ActionScript в Zend. Если вы не используете Git, вы можете использовать файлы gitignore в качестве ссылки.

Ответ 6

В общем, вы должны добавить все файлы, которые отображаются в обозревателе решений, для контроля версий. Кроме того, вам нужно включить файлы .sln(файл решения) и .vcproj/.vcxproj/.vbproj/.csproj(файл проекта).

Обратите внимание, что если у вас есть плагин управления версиями для Visual Studio, например TFS или AnkhSvn, нет необходимости явно заботиться об этом. Visual Studio знает, какие файлы должны находиться в управлении версиями и передает данные плагину управления версиями. Только если вы используете внешний инструмент (например, TortoiseSVN), вам нужен такой список.

Ответ 7

Только те, которые необходимы для создания вашей цели. Я думаю, что это просто .cpp.h.ico.rc.txt.manifest.rc2

Я не знаю, что sdf, aps, фильтры, пользователь, не видел их в моих сборках на С++.

Просто посмотрите и узнайте, содержат ли они программируемый код или если они сгенерированы VS.

Ответ 8

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

https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx