Зачем мне система контроля версий, если я использую машину времени? - PullRequest
1 голос
/ 23 апреля 2009

На самом деле я знаю, что лучше иметь контроль версий, но мне интересно, если Time Machine не справится с этой задачей для ленивых программистов?

Ответы [ 9 ]

15 голосов
/ 23 апреля 2009

Поскольку TimeMachine не будет отслеживать журнал изменений файла.

например. для данного файла в Subversion я могу легко определить, когда он изменился, и что еще изменилось одновременно.

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

И, наконец, вы не можете связать проверки и изменения в сборках / развертываниях.

Установка Subversion (или аналогичной) в Mac OS тривиальна и не потребляет ресурсы, если вы не регистрируетесь. Настоятельно рекомендуется. И, конечно же, убедитесь, что для вашего хранилища создана резервная копия TimeMachine!

7 голосов
/ 23 апреля 2009

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

6 голосов
/ 23 апреля 2009

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

Если вы хотите иметь быстрый и простой контроль версий, я бы порекомендовал одну из распределенных систем контроля версий. В отличие от централизованных систем, где необходимо настроить и администрировать сервер, начать работу с распределенной системой обычно просто, как git init; git add .; git commit. Я обычно предпочитаю Git , но Mercurial также является хорошим выбором, и некоторым легче начать с него.

4 голосов
/ 23 апреля 2009

Time Machine предоставит вам резервные копии вашего кода. Вот и все.

Контроль исходного кода также даст это, но также предоставит намного больше. Самое большое - это ветвление и слияние, что очень помогает проектам.

Time Machine также не будет хранить метаданные, такие как комментарии о регистрации или кто внес изменения.

Наконец, Time Machine не может быть распространена. Если вы хотите, чтобы кто-то еще начал работать над вашим кодом, Time Machine не поможет. Но (хороший) контроль источников сделает сотрудничество очень простым.

3 голосов
/ 23 апреля 2009

Самая важная и ценная вещь в репозитории управления версиями - это , а не содержимое, это даже не история (это # ​​2), это сообщения коммита . И у вас их нет в программе резервного копирования.

2 голосов
/ 23 апреля 2009

Филиалы и теги?

2 голосов
/ 23 апреля 2009

На ПК активное резервное копирование делает почти то же самое, а также позволяет сравнение ревизий, хотя и ограниченное для каждого файла. Проблема возникает, когда вы хотите сделать что-то вроде перечисления всех различий между версией X и версией Y с намерением построить версию Z на основе комбинации двух. Эти типы систем резервного копирования работают нормально, пока вы не поддерживаете одновременно несколько версий одного и того же проекта.

1 голос
/ 23 апреля 2009

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

1 голос
/ 23 апреля 2009

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

Как только вы это сделаете, используйте Time Machine, чтобы сохранить резервные копии хранилища. Система контроля версий не является резервной системой. Ничто не безопасно, только в одной файловой системе.

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