Какие типы файлов Visual C++ должны использоваться для контроля версий?
Какие типы файлов 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 ответов
Да:
- cpp: исходный код
- фильтры: файл проекта
- h: исходный код
- ico: ресурс
- rc: ресурсный скрипт
- rc2: ресурсный скрипт
- sln: файл проекта
- txt: элемент проекта
- vcxproj: файл проекта
Нет:
- aps: последнее состояние редактора ресурса
- exe: результат сборки
- idb: состояние сборки
- ipch: сборка помощника
- lastbuildstate: сборка помощника
- lib: результат сборки. Может быть третьим лицом
- log: построить журнал
- манифест: сборка помощника. Можно написать самому.
- obj: сборка помощника
- pch: сборка помощника
- pdb: результат сборки
- Res: построить помощник
- sdf: intellisense dbase
- suo: пользовательские опции решения
- tlog: сборка журнала
- пользователь: настройки отладки. Сохранять, если только один dev или пользовательские настройки отладки
Некоторые из них ненадежны, потому что они могут быть автоматически сгенерированы и поддерживаться самостоятельно. И есть еще несколько, которые не появляются в вашем списке. В первую очередь обратите внимание на расположение файла. Если он находится в каталоге вашего решения или проекта, то, скорее всего, вы захотите его зарегистрировать. В подкаталогах Debug или Release это маловероятно. Build + Clean удаляет много файлов шума. И конечно: регистрация, переименование директории проекта, выписка и проверка того, что он собирается.
Из вашего списка я бы выбрал такие:
cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj
Как правило, вам следует версия всех файлов, необходимых для сборки проекта. Автоматически сгенерированные файлы не должны быть заархивированы imho.
Как предлагает 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.
Если вы щелкнете правой кнопкой мыши по проекту, в контекстном меню должна быть опция "Добавить решение в систему управления версиями".
Если вы используете это, будут добавлены только те файлы, которые необходимы. Все промежуточные и выходные файлы будут игнорироваться.
Другие ответы превосходны; Я просто думал, что внесу полезный маленький инструмент. Проверьте шаблон Visual Studio.gitignore на GitHub. Это хороший активно поддерживаемый список файлов, которые обычно хранятся вне контроля версий.
И пока вы работаете над этим, весь репозиторий gitignore является очень полезным ресурсом для всех видов разработки, от ActionScript до Zend. Если вы не используете Git, вы все равно можете использовать файлы gitignore в качестве ссылки.
Только те предметы, которые необходимы для построения вашей цели. Я думаю, что это просто.cpp .h .ico .rc .txt .manifest .rc2
Я не знаю, что такое sdf, aps, filters, user, не видел их в моих сборках C++.
Просто посмотрите и узнайте, содержат ли они код, написанный программистом, или они сгенерированы VS.
В общем случае вы должны добавить все файлы, которые отображаются в обозревателе решений, в систему управления версиями. Кроме того, вам нужно включить файлы.sln (файл решения) и.vcproj/.vcxproj/.vbproj/.csproj (файл проекта).
Обратите внимание, что если у вас есть плагин управления исходным кодом для Visual Studio, такой как TFS или AnkhSvn, нет необходимости явно заботиться об этом. Visual Studio знает, какие файлы должны быть в управлении версиями, и передает данные плагину управления версиями. Только если вы используете внешний инструмент (например, TortoiseSVN), вам нужен такой список.
Вопреки тому, что было сказано в предыдущем ответе, я хотел бы отметить, что, по-видимому, важно управлять версиями файла.opt, чтобы отслеживать параметры пользователя. Смотрите ссылку ниже:
https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx