Используете контроль версий для домашней разработки?

138

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

У меня вопрос: насколько возможно использовать приложение контроля версий (например, TortoiseSVN ) для личных проектов, которые я делаю для себя (и даже школьных проектов)?

Стоит ли тратить время на проверку, фиксацию изменений и всю эту рутину только для «домашних проектов», а не просто делать резервные копии вручную?

Ссылки :

Питер Мортенсен
источник
2
Использовать систему контроля версий намного проще, чем создавать резервные копии вручную! Может быть, легче научиться делать резервные копии вручную, чем использовать систему контроля версий.
yfeldblum
1
Я могу порекомендовать VisualSVN, очень простой в использовании. И их подрывной сервер свободен :) ( visualsvn.com )
Svish
Вместо этого используйте размещенный сервер, вы получите нулевое обслуживание + резервное копирование. Я использую Unfuddle: stackoverflow.com/questions/430742/…
ripper234

Ответы:

191

Полностью.

Кредиты также на http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :

  • Иногда мы делаем глупые ошибки. Обязательно наличие системы безопасности в системе контроля версий.
  • Отметьте важные вехи. Даже при домашней разработке вы можете пометить набор файлов и версий как определенную версию программного обеспечения.
  • Вы тренируетесь для своей профессиональной жизни. Помещение в голову методологии работы, связанной с использованием системы контроля версий, подготовит вас профессионально.
  • Эффективность хранения. Текущие системы управления версиями сохраняют редакции как разность предыдущей редакции. Это означает, что он более эффективен для диска, поскольку сохраняется не весь файл, а только различия.
  • У вас есть история для всего вашего исходного дерева. Вы можете быстро увидеть, что было изменено и когда было изменено. Сравнивайте файлы из разных ревизий и легко объединяйте их.
  • Можете ветку поэкспериментировать. Если у вас есть какие-то эксперименты, вы можете создать ветку (новую независимую линию разработки) и протестировать ее. В конце концов, если результат вас устраивает, слейте его в HEAD (основная ветка разработки). Вы получаете все это бесплатно, не создавая копии, и получаете те же преимущества от использования системы контроля версий даже во время экспериментов.
smink
источник
13
Добавлю только одно: при условии, что система контроля версий находится на удаленном компьютере, она обеспечивает простое онлайн-резервное копирование вашей работы.
NotMe
Я полностью согласен. Каждый раз, когда вам нужно воспользоваться одной из этих функций, вы уже окупили незначительные затраты на использование системы управления версиями.
Крис Фармер,
Пункт 4 не применим к git. git оптимизирован для производительности слияния, и хранение различий не способствует достижению этой цели. в наши дни в основном предполагается, что у вас достаточно места на диске для исходного кода. Однако все остальные пункты являются причинами для использования любого источника управления, и git, конечно, удовлетворяет их всем.
SingleNegationElimination
Еще раз рекомендую git, особенно по пунктам 2. 5. и 6. git имеет очень хороший интерфейс для тегов, ветвления, слияния и т. Д., А некоторые графические инструменты, такие как qgit или gitk, позволяют очень легко увидеть, как все ваши ветки подходят друг к другу ... также несложно превратить ваш текущий (неверсированный) рабочий каталог в каталог git с помощью 3 команд: git init, git add., git commit
Дэвид Кларидж,
Если ваш личный проект достаточно велик, чтобы иметь значение пункт 4 (эффективность хранения), вам определенно понадобится система контроля версий!
Тихон Джелвис
31

Это того стоит.

Обратите внимание, что вам также не нужно настраивать полноценный сервер SVN. Вы можете просто создать репозиторий в локальной файловой системе и подключиться с помощью синтаксиса URL file: //. Это означает, что вам не нужно беспокоиться о настройке демона SVN (что, вероятно, является излишним для однопользовательского проекта)

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

Madlep
источник
1
Недавно я попробовал использовать git, потому что в одном из проектов, за которым я следил, его использовали. Я сразу перешел на git для моих личных и рабочих проектов, как только увидел, насколько это просто и быстро . Настоятельно рекомендуется.
Дэйв Шерохман,
8

Использование системы контроля версий также полезно для резервного копирования. Если вы всегда все проверяете, вы можете создавать резервные копии всех своих проектов с исходным кодом, создавая резервные копии всех своих репозиториев. Если у вас несколько машин, вам не нужно беспокоиться о том, где на самом деле находится последняя версия вашего кода - она ​​находится на сервере репозитория.

Грег Хьюгилл
источник
6

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

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

Кена
источник
5

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

С Subversion (по крайней мере) вам даже не нужен «сервер» - простой каталог может служить вашим хранилищем, если вы обращаетесь к нему с помощью URL-адресов типа «file: //». Есть даже бесплатная книга, которая содержит почти все, что вам нужно знать, чтобы начать работу:

http://svnbook.red-bean.com/nightly/en/index.html

Лимбическая система
источник
4

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

Брайан Ребейн
источник
4

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

мечта
источник