Поможет ли мне использование VCS в качестве веб-разработчика? - PullRequest
4 голосов
/ 22 мая 2009

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

Материал для чтения по теме кажется довольно односторонним :

"Использование системы контроля версий является абсолютная необходимость для разработчика проект выше нескольких сотен строк код "

... и у меня есть ощущение, что это может стать рутиной, но не так уж много преимуществ.

Я работаю на сервере разработки в локальной сети, так что любое количество людей может работать с файлами уже. Если кому-то нужно войти удаленно, они используют FTP. Что мне даст современная система контроля версий?

Ответы [ 7 ]

17 голосов
/ 22 мая 2009

В вашей ситуации это может дать вам как минимум четыре дополнительных преимущества:

1) Служит дополнительным хранилищем резервных копий .
2) Если вы случайно добавили ошибки, вы можете легко вернуться к предыдущей стабильной версии .
3) Если вы случайно добавили ошибку или что-то сломали - вы можете увидеть различия между вашим текущим исходным кодом и последним подтвержденным исходным кодом - VCS покажет вам различия очень подходящим и наглядным способом - и вы легко найдет изменение, вызвавшее ошибку или проблему. Это очень полезно.
4) Вы можете легко просмотреть ваши изменения перед совершением . Поверьте, вы можете быть удивлены :) Иногда вы просто делаете что-то автоматически, не задумываясь, или вы можете устать. В этом случае , если вы просматриваете свои модификации , позже - , вы можете найти ошибки или неверный код .

Удачи!

2 голосов
/ 26 мая 2009

Я опаздываю на этом, но просто хочу добавить некоторые маркеры в список, который начал ночной кодер: Вот как SVN помог мне.

Ночной кодер писал:

1) ... резервное хранилище.

2) ... вернуться к предыдущей стабильной версии.

3) ... увидеть различия между вашим текущим исходным кодом и последним подтвержденным исходным кодом ....

Дополнительно:

4) Из одного короткого комментария в журнале SVN вы можете увидеть, кто совершил изменение, когда и почему.

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

5) '$ id $', добавленный (по вашему выбору) в сам файл, является фантастической точкой отсчета.

  • Соответствует ли оно идентификатору версии, установленной на вашем рабочем столе?
    • Больше не нужно запускать проверку различий для двух (или 3 или 4!) Файлов с одинаковыми именами.
  • Соответствует ли он идентификатору файла с таким же именем, который вы используете на другом сервере / в другом домене?
    • Нет? Тогда один сервер / домен не использует последнюю версию - исправьте это.
  • $ id $ создает удобную ссылку 'version' в метатеге документа x / html.

6) Больше не нужно просеивать резервные копии с отметками даты, чтобы найти рабочие копии (см. Также 2).

7) Легко добавьте свой код в код Google, чтобы поделиться с миром или получить помощь от других.

  • Код Google в настоящее время использует SVN.

8) Как уже говорили другие, организация, организация, организация.

  • До использования SVN я думал, что я хорошо организован. Я был не прав.

9) В многопользовательской среде синхронизация текущих версий выполняется очень просто.

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

Даунсайд:

  • Кривая обучения может быть довольно крутой, если вы не ориентированы на терминальный язык. Этот язык не похож на Perl / Java / PHP / и т. Д.
  • Первоначальная настройка может привести к путанице. Чтение и следование указаниям обязательно.

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

2 голосов
/ 22 мая 2009

Другое преимущество, которое я нашел в управлении исходным кодом, заключается в том, что оно помогает вам быть более организованным. До использования SCM я прыгал, делая небольшие изменения. С SCM и необходимостью разумной регистрации я стал более продуманным и структурированным в том, что я пишу.

2 голосов
/ 22 мая 2009

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

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

Кроме того, VCS упрощает развертывание веб-приложений. Отметьте рабочую версию всех страниц в VCS как таковую, а затем просто перейдите на веб-сервер. Намного лучше, чем «традиционный» метод одного парня со списком измененных файлов и FTP-клиентом.

1 голос
/ 22 мая 2009

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

Теперь я использую Subversion даже для «тестовых» проектов, длина которых менее 100 строк. Вы никогда не знаете:)

0 голосов
/ 29 марта 2010

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

0 голосов
/ 21 июня 2009

другая причина: совместное использование между рабочими средами.

я использую svn не только для своих важных проектов, но также и для сценариев одноразовой песочницы (где я единственный кодер). для проектов у меня есть разные репозитории, а затем есть репозиторий «песочница». весь одноразовый код идет туда.

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

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

Есть много других преимуществ для VCS:

  • быстрый доступ к к вашим материалам отовсюду (если это общедоступный сервер). если вам нужно только прочитать код, достаточно браузера (если сервер его поддерживает).
  • хостинг на сервере . все диски в моих персональных компьютерах рано или поздно умирают, часто на них ушли годы сценариев. да, я уверен, что где-то в подвале есть резервные копии на компакт-дисках или zip-дисках, и я также уверен, что больше никогда их не найду ( также, у меня больше нет zip-диска, и вы знать продолжительность жизни компакт-дисков ... ). у всех cvs-серверов есть рейд, профессиональные администраторы, резервные копии, и если компания выходит из бизнеса, у вас по крайней мере есть локальная копия кода.
  • вы можете запускать автоматические сценарии при фиксации. я никогда не использовал это жестко.
  • поддержание работы кодовых баз . Существует 3 копии вашего приложения: локальное, в хранилище и на веб-сервере. если вы не завершили работу в конце своей смены, не выполняйте фиксацию, поэтому в хранилище не входит неработающий код. если вы сделали все изменения и тесты, экспортируйте их на веб-сервер. Таким образом (в идеальном мире) веб-сервер никогда не размещает неработающий код.
  • предоставление / отзыв доступа к другим . вы также можете сделать это с помощью ftp, но таким образом легче отследить сделанные изменения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...