Ответ 1
Вы должны передать все, кроме ваших выходных файлов.
Это означает фиксацию всего, за исключением ваших \bin
и \obj
каталогов (и файлов в них).
Я работаю над небольшим проектом, размещенным в Google Code, используя SVN для управления версиями. Это мой первый раз, когда я использую источник управления, и я немного смущен тем, что я должен делать в репозитории. Мой проект очень прост: проект библиотеки классов, написанный на С#. Фактический код, который я написал, - это один файл.
Мой вопрос: Должен ли я выполнять весь проект (включая такие каталоги, как Debug, Release, Properties и т.д.) или только мой основной файл .cs?
После долгой работы с Subversion (обратите внимание на self: сделайте не reset репозиторий), похоже, что я, наконец, работаю с правильно написанными каталогами.
Вы должны передать все, кроме ваших выходных файлов.
Это означает фиксацию всего, за исключением ваших \bin
и \obj
каталогов (и файлов в них).
Для обычного развития я не совершаю:
Все остальное, что я совершаю. Для выпуска, который будет отправлен клиенту, я также передам точные двоичные файлы, которые я отправил.
Вы должны включить все, что требуется для создания проекта, а не что-то, что создает проект, поскольку кто-то перекомпилирует его, он сможет создать их путем компиляции.
В случае проекта С#, который является вашим файлом решения (.sln), ваш файл проекта или файлы (.csproj) и ваши исходные файлы (.cs) и любые файлы ресурсов (.resx, *.bmp, *.png и т.д.). Это включает файлы в папке "Свойства", поскольку они содержат глобальные настройки для вашего проекта.
Вы ничего не совершаете в Debug/Release, это результат создания вашего проекта. Как правило, вы не храните двоичные файлы (*.dll, *.exe).
В качестве теста, если вы достаточно уверены, проверьте источник на другой каталог на вашем компьютере и попытайтесь восстановить проект.
Вы определенно не хотите фиксировать встроенные библиотеки, нет. Контроль источника - это только источник. Теперь, в чем-то подобном .NET-проекту, вы также можете считать файлы проекта и файлы (-и) решения источниками, которые являются прекрасными. (Но не файлы .user или .suo, оставьте их.) Но команда, использующая скомпилированные двоичные файлы, будет сталкиваться с головными болями. Бинарные файлы в целом хороши, например, например, DLL. Только не код, предназначенный для встроенных двоичных файлов.
В принципе, все, что вам нужно (и только то, что вам нужно, по крайней мере, в рамках иерархии кода проекта), чтобы построить полную версию проекта. Но не выполняйте фактический построенный вывод.
Я фиксирую все, кроме:
Подробнее об этом последнем бите см. этот вопрос.
Сделать фиксацию:
Исходные файлы и папки
Ресурсы (XML, CSS, ini файлы...)
Не создаваемые двоичные файлы (изображения, значки, звуки..)
Не выполнять:
Скомпилированные файлы (exe, dll, jar)
Сгенерированные исходные файлы
Файлы конфигурации машины, то есть файлы, которые содержат say filepaths к локальному файлу на вашем компьютере которые могут быть совершенно разными место на моем компьютере.