При использовании источника управления, какие файлы должны быть действительно выполнены?

Я работаю над небольшим проектом, размещенным в Google Code, используя SVN для управления версиями. Это мой первый раз, когда я использую источник управления, и я немного смущен тем, что я должен делать в репозитории. Мой проект очень прост: проект библиотеки классов, написанный на С#. Фактический код, который я написал, - это один файл.

Мой вопрос: Должен ли я выполнять весь проект (включая такие каталоги, как Debug, Release, Properties и т.д.) или только мой основной файл .cs?


После долгой работы с Subversion (обратите внимание на self: сделайте не reset репозиторий), похоже, что я, наконец, работаю с правильно написанными каталогами.

Ответ 1

Вы должны передать все, кроме ваших выходных файлов.

Это означает фиксацию всего, за исключением ваших \bin и \obj каталогов (и файлов в них).

Ответ 2

Для обычного развития я не совершаю:

  • бен
  • OBJ
  • *. Пользователь
  • *. Суо

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

Ответ 3

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

В случае проекта С#, который является вашим файлом решения (.sln), ваш файл проекта или файлы (.csproj) и ваши исходные файлы (.cs) и любые файлы ресурсов (.resx, *.bmp, *.png и т.д.). Это включает файлы в папке "Свойства", поскольку они содержат глобальные настройки для вашего проекта.

Вы ничего не совершаете в Debug/Release, это результат создания вашего проекта. Как правило, вы не храните двоичные файлы (*.dll, *.exe).

В качестве теста, если вы достаточно уверены, проверьте источник на другой каталог на вашем компьютере и попытайтесь восстановить проект.

Ответ 4

Вы определенно не хотите фиксировать встроенные библиотеки, нет. Контроль источника - это только источник. Теперь, в чем-то подобном .NET-проекту, вы также можете считать файлы проекта и файлы (-и) решения источниками, которые являются прекрасными. (Но не файлы .user или .suo, оставьте их.) Но команда, использующая скомпилированные двоичные файлы, будет сталкиваться с головными болями. Бинарные файлы в целом хороши, например, например, DLL. Только не код, предназначенный для встроенных двоичных файлов.

В принципе, все, что вам нужно (и только то, что вам нужно, по крайней мере, в рамках иерархии кода проекта), чтобы построить полную версию проекта. Но не выполняйте фактический построенный вывод.

Ответ 5

Я фиксирую все, кроме:

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

Подробнее об этом последнем бите см. этот вопрос.

Ответ 6

Сделать фиксацию:

  • Исходные файлы и папки

  • Ресурсы (XML, CSS, ini файлы...)

  • Не создаваемые двоичные файлы (изображения, значки, звуки..)

Не выполнять:

  • Скомпилированные файлы (exe, dll, jar)

  • Сгенерированные исходные файлы

  • Файлы конфигурации машины, то есть файлы, которые содержат say filepaths к локальному файлу на вашем компьютере которые могут быть совершенно разными место на моем компьютере.