Какие файлы / папки в Visual Studio 2010 C # Solution должны входить в Mercurial DVCS? - PullRequest
6 голосов
/ 23 августа 2010

Я использую Google Code для размещения своего C # проекта. У него есть решение с одной библиотекой классов и одним тестовым проектом. Я использую Visual Studio 2010.

Я использую TortoiseHG.

В проводнике Windows сначала я клонировал пустую папку и получил внутри нее файлы .hg, чтобы она ассоциировалась с моим размещенным кодом. Теперь я создал новый проект C # и скопировал все файлы в моей корневой папке, контролируемой исходным кодом. Я буду работать над этим в дальнейшем.

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

Я действительно новичок в управлении исходным кодом.

Какие файлы / папки должны входить в систему контроля версий, кроме самих файлов фактического кода?

Ответы [ 2 ]

5 голосов
/ 23 августа 2010

Хороший вопрос!Основное правило, которое я использую, таково:

  1. Проверьте все файлы в папке, чтобы получить полное дерево
  2. Поработайте с этим и обратите внимание на PendingПроверки
  3. Файлы, находящиеся на рассмотрении, но которых вы не трогали, являются файлами Visual Studio, которые обновляются, пока вы работаете, чтобы сохранить настройки проекта.
  4. Осторожно, теперь: *.sln, *.csproj и другие файлы проекта также изменятся, их необходимо проверить.
  5. Другие файлы, особенноте, которые «выглядят» двоичными файлами (например, в obj dir и *.suo файле), могут быть помечены для списка исключений.

Вы можете решить включить встроенные версииDLL или EXE, но это не обязательно, поскольку любой, кто загружает ваш проект, может его создать.Теперь следующий шаг:

  • После того, как вы немного поработали и подумали, что создали стабильный список файлов, перенесите весь проект в другое место и немедленно скомпилируйте.Это работает?Он пропускает файлы?

Если этот последний шаг работает (и вы должны регулярно его проверять), у вас есть прочная основа для ваших файлов.

Примечание: некоторые инструментыподдерживать Visual Studio изнутри и знать , какие файлы следует или не следует включать, т. е. для SVN я знаю, что VisualSVN неплохо справляется с пропуском ненужных файлов.


Еще два правила (на самом деле три):

  • Будьте конкретны в том, что вы исключаете, будьте либеральны в том, что вы включаете: лучше включать слишком много, чем слишком мало;
  • Несколько расширений, которые можно безопасно исключить: *.user (корень любого проекта), \obj\** (все во временной папке obj), *.vspscc и *.vssscc (корень проекта),*.suo и в зависимости от ваших предпочтений: \bin\**.
  • Да, и для проектов веб-сайтов они могут содержать или добавлять каталог PrecompiledWeb в ваше решение, в которое вы действительно не хотите регистрироваться: исключите все здесь.

РЕДАКТИРОВАТЬ: этот вопрос в SO имеет очень обширный список файлов, которые следует игнорировать в Visual Studio.

2 голосов
/ 23 августа 2010

Чтобы дать более краткую версию ответа @ Abel, вы можете опустить папки bin и obj и файл .suo.Все в bin и obj будет воссоздано при сборке, и .suo - это пользовательские настройки проекта, которые больше никому не нужны.

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