Машина часу проти контролю над джерелами?


18

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

Завантажив SVN Tortoise і використовував його для створення локального сховища на моєму hdd. Я використовую його вже 2 дні, але мушу сказати, що використовувати його насправді більше клопоту, ніж просто копіювати проект вручну в Explorer. Звичайно, ви зберігаєте лише покрокові зміни, але з дешевими дисками сьогодні я не можу сказати, що це аргумент, коли у вас є лише невеликі проекти. Я не знайшов швидкого способу переглянути старіші версії моїх файлів вісімдесят.

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

Чи існує така програма для Windows? Переважно безкоштовно і з якоюсь системою тегів, щоб я міг позначити часову позначку, коли проект працює і т.д.

Можливо, слід додати, що я в основному працюю один на одному комп’ютері.

Оновлення: Деякі з вас запитали, чому я хочу створити резервну копію. Оскільки я працюю один, це здебільшого дозволити мені швидко зламати рішення, не переживаючи, що щось накрутить.


4
Основна відмінність SCM від Time Machine полягає в тому, що за допомогою SCM ви чітко виконуватимете свої зобов'язання, тоді як резервні копії Time Machine є автоматичними (щогодини), а деякі втрачаються з часом: лише одна резервна копія на тиждень зберігається назавжди (і ви не вибираєте, який саме).
mouviciel

2
Я думаю, що автоматична фіксація для кожної збірки, яка завершується без помилок, плюс мітка, коли проходження тестових одиниць може бути корисним для локальної гілки для багатьох програмістів
Ian Ringrose

1
Проблема з будь-яким контролем версій полягає в тому, що якщо ви єдиний розробник програми, дуже важко зупинити файли, які ви не додали до системи контролю версій. Наявність окремого сервера побудови працює, але це набагато більше для налаштування. Просто резервне копіювання ВСІХ файлів може бути безпечнішим.
Ян Рінроуз

Відповіді:


39

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


Потреба Джеффа (і моя) не заповнюється контролем джерел, оскільки це вимагає ручних доручень. Цінність полягає в тому, що ви можете відслідковувати щохвилинні зміни, внесені у вашу робочу копію, не вимагаючи щохвилини. І не забруднюючи сховище. Деякі IDE (наприклад, Eclipse) дозволяють вам переглядати файли проектів назад у часі. Але для цього потрібно використовувати певний IDE та налаштовувати проект. Було б непогано, якби в незалежному інструменті була подібна функціональність.
Ваймс

@JohnB SVN має функцію під назвою "Автоверсія". Це дозволяє монтувати ваш сховище як стандартну папку WebDAV, і кожен раз, коли ви зберігаєте файл, він виконуватиме фіксацію. Якщо ви зберігаєте досить часто, ви зможете ефективно повернутися назад у будь-який час, коли ви зберегли файл. Це не настільки детально, як щось на зразок VS.Net, де ви можете Ctrl + Z кожен символ, але ви все одно повинні зберігати кожні 10 хвилин. Якби ви були одним розробником, який працював над проектом, це, ймовірно, вийде, хоча я не маю великого досвіду з цим. ( svnbook.red-bean.com/en/1.7/svn.webdav.autoversioning.html )
Kibbee

Дякую, Кібі. Я побачив пост VonC про це нижче. Це один з небагатьох варіантів, які я бачив, і єдиний безкоштовний. Нижче також є кілька виділених продуктів, які не вимагають від вас налаштування сервера управління джерелом, що приємно. Але вони коштують грошей і виглядають так, що у них більше дзвіночків, ніж мені потрібно (або, одному з них потрібна робота в інтерфейсі). Найближче, що я бачив, що я хочу, це DropBox, це інтеграція контекстного меню Windows Explorer. За замовчуванням це економить 30 днів історії, і якщо ви заплатите за функцію Pack Rat, це збережеться нескінченно. Але це хмарна програма.
Ваймс

21

Це буде Авто-версія (щоб залишитися з Subversion):

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


2
Безумовно, хороша відповідь і рішення, схоже на те, що хоче ОП, регулярні резервні копії без явних зобов'язань.

12

Не плутайте рішення резервного копіювання з контролем версій. Вони обоє важливі, але мають різні цілі. Те, що ви насправді маєте робити, це використовувати контроль над версіями (svn, cvs, mercurial, git, що завгодно) та автоматично створити резервну копію в іншому місці, крім вашого жорсткого диска, бажано за межами сайту (платний хост або S3). Або перейдіть на 100% віддалений і знайдіть когось для розміщення вашого репортажу SVN. Я б запропонував Скасувати . Ви можете встановити безкоштовний репортаж SVN там без особливих проблем.

Кусайте кулю і використовуйте SVN. Це може бути не так просто, як ви звикли, але коли вам доведеться зробити дуже конкретний відкат або порівняти зміни між файлами, ви будете раді, що ви це зробили.



6

Повне розкриття інформації: я працюю над програмним забезпеченням Altaro.

Якщо ви хочете машину часу для Windows, тоді перейдіть на "На жаль! Резервне копіювання "BETA список

Ми є новою програмною компанією Altaro Software, і ми розробляємо продукт резервного копіювання продукту / версії програмного забезпечення під назвою "На жаль! Резервне копіювання '. На жаль! Резервне копіювання - це гібрид між традиційним продуктом резервного копіювання та легкою системою управління версіями. На жаль! Резервне копіювання автоматично відстежує зміни в документах, фотографіях та інших файлах і дозволяє вам відслідковувати в будь-який момент часу. Певною мірою це еквівалент Time Machine для Windows.

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

Ми багато інвестували в досвід користувачів І цукерки для очей - оскільки ми розуміємо, що eyecandy НЕ передбачає досвіду користувача.

Ми незабаром збираємось у BETA і шукатимемо тестувальників BETA - кожен, хто бажає спробувати перевірити http://www.altaro.com/download.php . На цій сторінці також можна побачити скріншоти продуктів.

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

Як я вже казав - На жаль! Резервне копіювання не замінює потребу в належному продукті контролю версій - але це компліментує. Це може використовуватися як спосіб контролю версій, але тоді ви не матимете реєстрації / виходу, і розгалуження доведеться робити вручну, створивши нову папку.

Вибачте за плагін !!

Девід Велла - david@altaro.com


Я думаю, що список функцій - це дуже вдалий початок. Чи підтримує він повне відновлення (як, наприклад, у випадку відмов обладнання; вимога до машини часу для Windows, якщо ви запитаєте мене)? І хоча мало кого може хвилювати: чи може він обробляти кілька (зайвих) резервних дисків? Або, якщо ні, якимось способом скопіювати повну резервну копію (як Time Capsule, але це потребує тривалого часу)? Для наступних випусків: я рекомендую плагіни для популярного програмного забезпечення, яке потребує конкретного використання файлової системи. Як і у програмах електронної пошти: знайти та відновити повідомлення, не знаючи, як їх можна знайти у файловій системі. І: локалізація?
Ар'ян

Привіт Аржане - ні, він не підтримує дискові зображення (ала Acronis & Ghost), і якщо чесно, я не впевнений, чи варто йти таким шляхом - ми побачимо на основі відгуків. Вже є хороші продукти, які ви можете використовувати для голого металу, тому ми зараз не будемо виходити на ринок, а зосередимось на створенні Oops! Резервне копіювання найкращого рішення на ринку. Натомість ми зосереджуємось на частині контролю версій - на фактичному вмісті на відміну від бітового шару. На сьогоднішній день у нас є попередній попередній перегляд програми, оскільки ми підтримуємо попередній перегляд файлів, зображень, текстових файлів MS Office та інших файлів - ми продовжимо додавати це.
Девід Велла

Я певною мірою сказав, що це еквівалент машини часу. З того, що я чув, найближчим до Apple Time Machine є Rebit - ніколи цього не перевіряв сам. Англійська лише зараз - але ми готові розпочати локалізацію. Якщо ви хочете спробувати це у BETA, надішліть мені електронний лист :) David Vella з Мальти (Європа) david@altaro.com
David Vella

Переглянувши кілька коментарів, залишених "Candice" Джіні "aka" Салам ": +1 для розкриття інформації ;-) ( superuser.com/questions/7423/time-machine-for-windows/… / stackoverflow.com/questions/274948 / time-machine-for-windows /… / serverfault.com/questions/1918/… )
Arjan

4

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

В основному він використовує rsync для резервного копіювання даних на зовнішній накопичувач NTFS. З кожною новою резервною копією він зберігає лише нові файли на резервному диску, але створює жорсткі посилання на все інше. Ефективно ви побачите повну структуру папок для кожної резервної копії, але використовуйте лише простір, необхідний для першої повної резервної копії + будь-які зміни, які надійдуть пізніше.

Це не настільки фантазії, як Time Machine, але це та сама технологія (Time Machine використовує rsync також, наскільки я знаю) під обкладинками.


2

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


2

SVN не дуже ефективний для розробників соло. Ознайомтеся з BZR . Я використовую BZR для всіх своїх особистих проектів та домашнього каталогу, SVN використовую лише для великих робочих проектів.


Цікаво. Ви використовуєте його з яким-небудь сервером, навіть localhost, чи він працюватиме лише з локальною файловою системою?
PhiLho

1
"SVN не дуже ефективний для розробників соло". Це гарна ковдра заява, ти не думаєш?
mwjackson

1
jacko, навчи себе альтернатив, і ти погодишся.
Дастін Гетц

1
phil, завжди є локальна копія сховища, щоб зробити все швидко і уникнути проблем з дозволом, але необов'язково підштовхує / синхронізує для віддалення будь-чого (спільний доступ, веб-сайт, ftp, можливо, більше), якщо / коли вам потрібно працювати з командою. читати веб-сайт.
Дастін Гетц

Основна відмінність BZR від SVN, здається, полягає в тому, що BZR поширюється. Оскільки ОП переважно працює поодинці на одному комп’ютері, я не переконаний, що переваги керованого управління джерелами перевищують додаткову складність у цьому випадку.
redtuna

2

Genie Timeline 2.0 вже минулого тижня.

Я знаю, я знаю, "ще один штекер часової шкали!" ... але це не так.

Часова шкала 2.0 була повністю перероблена, і поки що загальний консенсус в Інтернеті був дуже позитивним.

Найкраще, що майже всі функції доступні в новій безкоштовній версії Genie Timeline.

Технічні характеристики Genie Timeline 2.0 безкоштовно: 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


+1 за розголошення. Дивіться також Time Machine для Windows, який, я думаю, є кращим місцем для продовження цього питання.
Ар'ян

1

Що ви хочете зробити з керування джерелами / декількох резервних копій?

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

Якщо, як вважає Дастін Гетц, це стосується управління конфігурацією, гілок тощо, то рекомендації щодо програм управління SVN або іншими вихідними кодами краще, ніж мої пропозиції.

Так, не користувався ним і не безкоштовно (32 долари), але з'явився googling

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

  • Автоматично відстежує та зберігає зміни у файлах
  • Дозволяє переглядати та відновлювати старі версії файлів
  • Важливі версії файлів можна чітко позначати
  • Сумісний з більшістю типів файлів, такими як Microsoft Word® Documents та Microsoft Powerpoint® Презентації
  • Ефективне зберігання змін за допомогою алгоритму стиснення дельти
  • Інтегрований у Провідник файлів Microsoft Windows® для безперебійної роботи

За даними цього веб-сайту, доступна 60-денна пробна версія

Або якщо ви використовуєте Vista, вбудована тіньова копія. Див. Http://en.wikipedia.org/wiki/Shadow_Copy


1

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


1
Залежить. Це відповідає тому, що просив ОП. На мій погляд, є дві причини контролю вихідного коду - управління конфігурацією та захист від проблем / глупості пальця розробника (про мене багато що свідчить). Якщо перше - це питання, я згоден з вами. Якщо друге, всі ці рішення зроблять.
Архетипний Павло

1

Кілька думок:

Можливо, вам сподобається SVK, який, здається, підключається до SVN. Я сам цього не пробував, але це виглядає цікаво.

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

Такі інструменти, як Trac, пропонують пристойний перегляд сховищ SVN, і, можливо, варто їх переглянути.

Якщо у вас виникли проблеми з пошуком правильного жаргону для пошуку, знайдіть «знімки». Ви також можете створити якийсь процес архівації у вашій системі збирання, щоб кожен раз, коли ви запускаєте, автоматично отримуєте знімок (або що має сенс для вашої ситуації).


1

У мене є cron (шукайте google і вибирайте той, який вам подобається), а потім скрипт командного рядка, щоб запускати pkzipc в папках соусу кожні пару годин. як тільки я прив’язав початок cron до мого запуску, я тільки почав його і забув. врятував мене 1 раз, коли в пізньому ніжному морозі я набрав del / f / s * .cs


1

У Windows Vista Business, Enterprise та Ultimate вбудована ця функція;)


Як це називається, що саме він робить, які компроміси? Ви, можливо, говорите про тіньову копію тома?
redtuna

1

Ви хочете перевірити це, чи цікавитесь машиною часу Apple і маєте ОС платформи Windows.

http://www.genietimeline.com

Бета-версія має бути випущена незабаром ... Можливо, ви хочете підписатись на неї ... Не можу чекати, коли я перейду на Джіні Хронологію ...

Мабуть, його особливості включають CDP в реальному часі, нескінченну версію файлів, автоматизовану резервну копію, інтеграцію вікон до основної ... Я чекав, коли цей вид програмного забезпечення буде випущений у Windows протягом віків ...


Огляд: pc-tutorials.suite101.com/article.cfm/… Я б сказав, що "автоматично виявляє найпоширеніші файли користувачів" - це просто вирішення, оскільки воно створює резервні копії створених користувачем файлів . Як відновити всю систему тоді? Здається, немає інтеграції, наприклад, з програмним забезпеченням електронної пошти. Що робити після видалення якогось повідомлення? Чи потрібно мені знати, де і як електронна пошта розташована на жорсткому диску? І чи можу я відновити одне повідомлення? Резервне копіювання практично всього та інтеграція з іншим програмним забезпеченням все ще робить Time Machine унікальним. Бампер.
Ар'ян

1

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


1

Мені подобається зберігати та працювати над своїми проектами за допомогою dropbox ( http://www.getdropbox.com/ ). Він не тільки автоматично створює резервну копію вашої роботи, але і несе ревізії для вас.


Якщо ви економите часто, це буде величезною тратою перегляду у сховищі DropBox.
Патрік Дежардінс

1

У Windows Server 2003 і пізніших версіях функція " Shadow Copy " схожа на Time Machine, але призначена для мережевого корпоративного середовища. Ви, можливо, зможете налаштувати його локально, якщо цього дуже хочете.

Однак це було б справді неповноцінним рішенням для хорошого контролю вихідного коду. За допомогою керування джерелами ви можете переглянути повну, детальну історію кожного рядка коду у вашій базі коду. Важко оцінити, наскільки це цінно, поки ви не спробували це.

Тіньова копія



0

Якщо ви буквально шукаєте "Машина часу для Windows": Windows Vista поставляється з Time Warp (це кодове ім'я, я забув, як називається закінчена функція). Це майже те ж саме, що і в машині часу X X, лише з меншим галасом.


1
Його назва - це тіньова копія, і це занадто бабуся. Ви можете лише вибрати, які саме файли потрібно створити для резервного копіювання ("музика", "картинки" тощо), а не те, які папки слід контролювати. Він працює лише раз на день, якщо ви не скажете йому зробити резервну копію прямо зараз.

0

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


0

Ви можете використовувати vm і робити знімки, перш ніж робити великі зміни? Це досить безболісно кататись назад - приблизно 5 хвилин і готово :)


vm для віртуальної машини? ...
Патрік Дежардінс

0

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


0

ви можете спробувати Genie Timeline, це як машина часу Windows для Windows, і ви можете повернутися до тієї версії, яка вам потрібна, використовуючи повзунок часу для перегляду кожної версії http://www.genietimeline.com


Досить штепселів для Genie вже.
Ар'ян



0

Mercurial ідеально підходить для цієї роботи.

Щоразу, коли ви хочете зробити знімок свого коду, це все, що ви робите в командному рядку: hg commit і ви готові!

Якщо ви хочете переглядати різні версії файлу, з TortoiseHG це легко , використовуючи його графічне контекстне меню, клацнувши правою кнопкою миші на потрібному файлі.

Крім того, його приємніше, ніж SVN, тому що він не засмічує всі ваші підпапки із прихованими каталогами .svn.


Що робити, якщо я не хочу витрачати час на переміщення, витягування ..., а просто на щось автоматичне, яке відслідковує кожну зміну, наприклад, документи Google, але не місцеві. Що б ти запропонував?
скан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.