18

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

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

То, что я хочу, - это бесконечная отмена, которая полностью прозрачна, когда я кодирую, если я сохраняю файл, мне нужна резервная копия. Я не хочу проверять, регистрироваться и даже не заводить меня на перемещение файлов. Я не пробовал Time Machine для OS X, но похоже, что это именно то, что я ищу.

Существует ли такая программа для Windows? Желательно бесплатно и с какой-то системой тегов, чтобы я мог пометить метку времени, когда проект работает и т.д.

Может стоит добавить, что я в основном работаю один на одном компьютере.

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

27 ответов27

39

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

21

Это было бы автоматическое управление версиями (чтобы остаться с Subversion):

Автоверсионирование - это функция, с помощью которой клиенты WebDAV могут писать на сервер DeltaV (например, mod_dav_svn), а сервер выполняет коммиты в фоновом режиме. Это означает, что если вы используете Apache httpd в качестве сервера Subversion, то большинство современных операционных систем могут монтировать репозиторий в качестве общего сетевого ресурса, а пользователи, не являющиеся техническими специалистами, получают "прозрачные" версии бесплатно. (Конечно, технические пользователи могут по-прежнему использовать клиенты Subversion для изучения истории хранилища.)

12

Не путайте решения для резервного копирования с контролем версий. Они оба важны, но имеют разные цели. Что вам действительно нужно делать, так это использовать контроль версий (svn, cvs, mercurial, git и т.д.) И автоматически создавать резервные копии где-то еще, кроме вашего жесткого диска, предпочтительно вне сайта (платный хост или S3). Или перейдите на 100% дистанционно и найдите кого-то, кто сможет разместить ваше репозиторий SVN. Я бы предложил Unfuddle. Вы можете создать бесплатное репозиторий SVN без особых проблем.

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

6

Проверьте FileHamster @ http://www.mogware.com/FileHamster/ . Он автоматически создает резервные копии ваших файлов при каждом изменении.

6

Полное раскрытие: я работаю на Altaro Software.

Если вы хотите Time Machine для Windows, тогда попробуйте «Упс! Backup 'BETA list

Мы являемся новой компанией-разработчиком программного обеспечения Altaro Software и разрабатываем программный продукт для резервного копирования / контроля версий, который называется «Упс! Резервное копирование'. К сожалению! Резервное копирование представляет собой гибрид традиционного продукта для резервного копирования и облегченной системы контроля версий. К сожалению! Резервное копирование автоматически отслеживает изменения в документах, фотографиях и других файлах и позволяет вам вернуться в любой момент времени. В определенной степени это эквивалент Time Machine для Windows.

Обратите внимание, что я сказал, что облегченный контроль версий - это не продукт, который предназначен для замены правильного продукта контроля версий. Наши разработчики используют SVN и Oops! Резервное копирование одновременно. Они используют VSN для правильного контроля версий с функциями возврата / вывода, но они также используют Ой! Резервное копирование моментов Oops, которые они иногда получают и нуждаются в быстром поиске предыдущей версии файла без необходимости проходить через весь процесс проверки.

Мы много инвестировали в пользовательский опыт и привлекательность - мы понимаем, что eyecandy НЕ подразумевает пользовательский опыт.

Мы скоро будем в бета-версии и ищем бета-тестеров - каждый желающий может попробовать его на http://www.altaro.com/download.php. На этих страницах вы также можете увидеть скриншоты продукта.

Ваши мнения и конструктивная критика будут высоко оценены (хотелось бы услышать плохие вещи ... больше, чем хорошие вещи)

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

Извините за пробку!

Дэвид Велла - Дэвид@altaro.com

4

Решение, очень похожее на Time Machine, было представлено в немецком журнале c't некоторое время назад. Хотя сама статья доступна для 60 центов, сами сценарии бесплатны: http://www.heise.de/ct/ftp/06/09/126/

В основном он использует rsync для резервного копирования ваших данных на внешний диск в формате NTFS. С каждой новой резервной копией она только сохраняет новые файлы на резервный диск, но создает жесткие ссылки на все остальное. Фактически вы увидите полную структуру папок для каждой резервной копии, но будете использовать только пространство, необходимое для первой полной резервной копии + любые изменения, которые произойдут позже.

Это не так красиво, как Time Machine, но это та же технология (насколько я знаю, Time Machine также использует rsync) под крышками.

2

Genie Timeline 2.0 вышла с прошлой недели.

Я знаю, я знаю, "еще одна временная пробка!"... но это не так.

Временная шкала 2.0 была полностью переписана, и до сих пор общее мнение в Интернете было очень позитивным.

Более того, почти все функции доступны в новой бесплатной версии Genie Timeline.

Технические характеристики Genie Timeline 2.0 Free: http://www.genie-soft.com/Free_products/free_timeline.aspx

Загрузить: http://download.cnet.com/Genie-Timeline-Free/3000-2242_4-10967059.html?tag=mncol

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

РАСКРЫТИЕ ИНФОРМАЦИИ: Я был лидером проекта по версии 2.0

2

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

2

SVN не очень эффективен для индивидуальных разработчиков. Проверьте BZR. Я использую BZR для всех моих личных проектов и моего домашнего каталога, использую SVN только для большого рабочего проекта.

1

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

1

Несколько мыслей:

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

http://svk.bestpractical.com/view/HomePage

Такие инструменты, как Trac, обеспечивают приличный просмотр репозитория SVN и, возможно, заслуживают внимания.

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

1

У меня есть cron (поиск в Google и выберите тот, который вам нравится), а затем сценарий командной строки для запуска pkzipc на моих папках souce каждые пару часов. как только я связал запуск cron со своим стартапом, я просто запустил его и забыл. спасли меня 1 раз, когда в конце ночного бреда я набрал del /f /s * .cs

1

В Windows Vista Business, Enterprise и Ultimate эта функция встроена;)

1

Вы можете проверить это, если вы заинтересованы в Apple Time Machine и имеете операционную систему на платформе Windows.

http://www.genietimeline.com

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

Очевидно, его функции включают в себя Realtime CDP, бесконечное управление версиями файлов, автоматическое резервное копирование, интеграцию окон с ядром ... Я долго ждал выхода такого рода программного обеспечения для Windows ...

1

Windows Server 2003 и более поздние версии имеют функцию « теневого копирования », которая похожа на Time Machine, но предназначена для сетевой корпоративной среды. Вы можете установить его локально, если действительно хотите.

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

Shadow Copy

1

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

1

Я люблю хранить и работать над своими проектами, используя Dropbox (http://www.getdropbox.com/). он не только автоматически создает резервную копию вашей работы, но и сохраняет изменения для вас.

1

Что вы хотите сделать из системы контроля версий / нескольких резервных копий?

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

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

Таким образом, не использовал его, и не бесплатно (32 $), но поиск в Google обнаружился

TrackMyFiles - http://www.trackmyfiles.com/en/features/

  • Отслеживает и сохраняет изменения в файлах автоматически
  • Позволяет просматривать и восстанавливать старые версии файлов
  • Важные версии файлов могут быть помечены явно
  • Совместим с большинством типов файлов, таких как документы Microsoft Word® и презентации Microsoft Powerpoint®
  • Эффективное хранение изменений с помощью алгоритма дельта-сжатия
  • Интегрирован в Microsoft Windows® File Explorer для бесперебойной работы

60-дневная пробная версия доступна, согласно этому веб-сайту

Или, если вы используете Vista, встроено теневое копирование. Смотрите http://en.wikipedia.org/wiki/Shadow_Copy

0

Не уверен, что эта простая утилита подойдет для вашей цели: http://downstairs.dnsalias.net/revisionmanagement.html

0

Если вы буквально ищете "Time Machine для Windows": Windows Vista поставляется с Time Warp (это кодовое имя, я забыл, как называется готовая функция). Это почти то же самое, что и Time Machine в OS X, только с меньшим количеством рекламы.

0

Попробуйте Flashbake. Он может создавать резервные копии каждые n минут (через cron и, предположительно, Windows Scheduler) файлов, которые не изменились за m минут (может быть 0). Вам понадобится Python, поэтому Cygwin или ActiveState Pyton. Он основан на git и предназначен для нетехнических типов.

0

Вы могли бы использовать виртуальную машину и делать снимки, прежде чем вносить большие изменения? Это довольно безболезненно откатиться назад - около 5 минут и все готово :)

0

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

0

вы можете попробовать Genie Timeline, это как Windows Time Machine для Windows, и вы можете вернуться к нужной версии, используя ползунок времени для просмотра каждой версии http://www.genietimeline.com

0

Cygwin + rsync + скрипт Easy Automated Snapshot-Style Backups с Linux и Rsync для работы со старыми версиями работает хорошо. Нет графического интерфейса, хотя.

0

WWW.FolderTrack.com делает именно то, что вы хотите. Программное обеспечение бесплатно с использованием кода скидки: BOS

В качестве отказа от ответственности я работаю в FolderTrack.

0

Mercurial идеально подходит для этой работы.

Всякий раз, когда вы хотите сделать снимок своего кода, это все, что вы делаете в командной строке: hg commit и все готово!

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

Кроме того, он лучше, чем SVN, потому что он не засоряет все ваши подпапки скрытыми каталогами .svn.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .