Как я могу поставить мою личную конфигурацию Windows под контроль версий ?
Резюме (подробности и примеры приведены ниже):
- Персональная конфигурация (например, настройки рабочего стола), а не конфигурация системы (например, драйверы); должен работать без прав администратора
- Контроль версий, а не резервное копирование или создание образа диска
Вот несколько вещей, которые я хочу сделать:
- Зафиксируйте текущее состояние моей конфигурации в хранилище, желательно с некоторой детализацией (если бы я сделал два изменения, я бы хотел иметь возможность зафиксировать одно без фиксации другого).
- Напишите запись журнала изменений каждый раз, когда я фиксирую, и просмотрите список записей журнала изменений для каждого файла конфигурации.
- Посмотрите на различия между текущим состоянием и версией репозитория.
- Проверьте из моего репозитория на новом компьютере Windows и воспроизведите мою конфигурацию (по крайней мере, если новый компьютер имеет ту же версию Windows).
<добавленный1> я не буду пытаться дать полностью точное определение "конфигурации"; Я пытаюсь охватить все виды личных предпочтений (например, все, что можно установить в панели управления без прав администратора, ярлыки в моем меню «Программы», предназначенном для пользователя,…). Я не хочу включать свои документы или установленные приложения. </ added1>
<добавлено2> Обратите внимание, что я нацеливаюсь на мою личную конфигурацию, а не на конфигурацию системы (это также было бы полезно, но цель этого вопроса не в этом). Например, я ожидаю, что решение будет работать без прав администратора. </ added1>
Что я делаю в Unix - это помещаю (выборочно) мои точечные файлы под контроль версий . В операционной системе Windows, я полагаю , я должен совершить регистрацию и некоторые файлы (которые?) Под Application Data
. Я хотел бы что-то лучше, чем поставить весь файл реестра под контроль версий (этого недостаточно, и я боюсь проблем с блокировкой). <добавленный1> В идеале я хотел бы использовать оболочки или сценарии с некоторыми распространенными программами контроля версий (Bazaar, CVS, Darcs, Git, Mercurial, Subversion,…), но это не является абсолютным требованием. </ added1>
В настоящее время мне нужно работать с Windows 2000 и Windows XP. Так как это для рабочей машины, Payware не подойдет (с открытым исходным кодом было бы идеально). Мне удобнее работать с командной строкой, чем с графическим интерфейсом.
<добавлен1> Вот пример рабочего процесса:
- Однажды я решил, что хочу, чтобы фон моего рабочего стола был розовым. Поэтому я делаю изменения через графический интерфейс. Это изменяет
строку включефайла конфигурациив реестре. Затем я фиксирую изменения, чтобы отследить их. - Позже я удивляюсь, почему фон моего рабочего стола розовый. Поэтому я ищу «цвет рабочего стола» в журнале изменений.
- Однажды мне нужно использовать новую машину. Поэтому я проверяю из своего хранилища настроек и вуаля, розовый рабочий стол.
Вот некоторые вещи, которые я не пытаюсь сделать:
Я не пытаюсь делать резервные копии. Я хочу иметь возможность отслеживать изменения (по семантике или, по крайней мере, по синтаксису, а не только по дате) и обмениваться информацией между машинами (один репозиторий, несколько проверок).
Я не пытаюсь повторить установку Windows. Я не хочу переносить аппаратные зависимости, установленные приложения или документы.
</ Added1>