Какие типы файлов Visual C ++ должны использоваться для контроля версий? - PullRequest
167 голосов
/ 13 октября 2010

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

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

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

РЕДАКТИРОВАТЬ

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

Ответы [ 8 ]

226 голосов
/ 13 октября 2010

Да

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

Нет

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

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

26 голосов
/ 13 октября 2010

Из вашего списка я бы выбрал следующие:

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

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

15 голосов
/ 06 марта 2014

По предложению 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-файле или во внешней библиотеке, я думаю, его также следует включить в управление версиями

ИНФОРМАЦИЯ: Какие файлы Visual C ++ добавитьк управлению исходным кодом

Кроме того, эта ссылка описывает типы файлов для проектов Visual C ++ в Visual Studio 2017.

7 голосов
/ 13 октября 2010

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

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

2 голосов
/ 21 марта 2014

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

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

1 голос
/ 16 ноября 2010

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

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

0 голосов
/ 30 августа 2015

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

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

0 голосов
/ 13 октября 2010

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

Я не знаю, что такое sdf, aps, filters, user, не видел их в моих сборках C ++.

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

...