Вы помещаете не кодовые файлы, такие как DLL, изображения и FLV, в контроль версий? - PullRequest
2 голосов
/ 21 февраля 2009

Ну, условно говоря, они не часто меняются, но положительной стороной этого является то, что вы можете проверить веб-сайт и ожидать, что он будет работать и выглядеть нормально на вашей локальной машине.

Что ты делаешь?

Ответы [ 7 ]

12 голосов
/ 21 февраля 2009

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

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

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

т.е. сборка должна быть в состоянии завершиться на «заблокированной» версии кода без необходимости выполнения каких-либо проверок и т. д., а также без необходимости приобретать какие-либо дополнительные внешние зависимости (вообще говоря).

4 голосов
/ 21 февраля 2009

Да. Мы регулярно помещаем внешние зависимости и все остальное, необходимое для сборки, в исходный код. Таким образом, мы гарантируем, что чистая машина сможет подключиться к исходным текстам и собрать из sctratch, без необходимости устанавливать на нее какие-либо вещи вручную.

2 голосов
/ 21 февраля 2009

Да, в основном.

Единственные файлы, которые я оставляю вне контроля источников, это «контент» сайта, который в основном охватывает изображения и документы, загруженные пользователями сайта. Изображения, составляющие «внешний вид» сайта (обычно на главных страницах или загружаемые с помощью CSS), которые нельзя редактировать, попадают в систему контроля версий.

DLL и другие элементы, необходимые для компиляции сайта (или необходимые для функциональности сайта, такие как javascript), безусловно, включены. Разработчики должны иметь возможность проверять веб-сайт из системы контроля версий и иметь все необходимое для работы сайта.

1 голос
/ 21 февраля 2009

Существует также аргумент для помещения дампов базы данных в систему управления версиями / источниками.

Особенно, если схема базы данных развивается во время разработки. (Я знаю, это совсем другая тема)

1 голос
/ 21 февраля 2009

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

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

1 голос
/ 21 февраля 2009

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

Для файлов, которые редко изменяются, или для двоичных файлов в целом ваш поставщик управления версиями может предоставить некоторые параметры, такие как «Сохранить весь файл на ревизию» - этот параметр не позволяет программе управления исходным кодом пытаться вычислять различия при регистрации новое видение (которое подходит для файлов ASCII, но не для двоичных файлов).

С другой стороны, если есть сетевой диск или что-то в этом роде, которое ВСЕГДА будет доступно для всех машин, создающих ваш проект, вы можете избежать обращения к этому удаленному ресурсу (будь то настоящий диск или даже URL-адрес для изображение), если вы уверены, что вы чувствуете себя комфортно в процессе резервного копирования в этой удаленной системе.

Контроль исходного кода предоставляет две важные функции: совместное использование исходного кода между разработчиками и резервное копирование исходного кода - многие люди забывают о втором, пока не станет слишком поздно :) Я уже однажды включался. Выучил мой урок! Ха-ха.

0 голосов
/ 21 февраля 2009

Да, мы делаем.

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

Нет ничего хуже, чем тратить время на попытки найти зависимости для успешного построения. (

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