Windowsの個人設定をバージョン管理下に置くにはどうすればよいですか?
概要(詳細と例は次のとおりです):
- システム構成(ドライバーなど)ではなく、個人構成(デスクトップ設定など)。管理者権限なしで動作するはずです
- バックアップやディスクイメージングではなくバージョン管理
ここで、私ができることをいくつか紹介します。
- 構成の現在の状態をリポジトリにコミットします。できればある程度の細分度で(2つの変更を行った場合、一方をコミットせずにもう一方をコミットできるようにしたい)。
- コミットするたびに変更ログエントリを書き込み、各構成ファイルの変更ログエントリのリストを確認します。
- 現在の状態とリポジトリバージョンの違いを確認します。
- 新しいWindowsマシンのリポジトリからチェックアウトして、私の構成を再現します(少なくとも新しいマシンに同じバージョンのWindowsがある場合)。
<added1> 「構成」の完全に正確な定義を示すことはしません。私はあらゆる種類の個人設定をカバーしようとしています(たとえば、管理者権限なしでコントロールパネルで設定可能なもの、ユーザー固有の[プログラム]メニューのショートカットなど)。ドキュメントやインストール済みのアプリケーションを含めたくありません。 </ added1>
<added2> システム構成ではなく、個人構成を対象としていることに注意してください(これも役に立ちますが、この質問の目的ではありません)。たとえば、管理者権限がなくてもソリューションが機能することを期待しています。 </ added1>
私がUNIXでやっていることは、私のドットファイル(の一部)をバージョン管理下に置くことです。Windowsでは、レジストリといくつかのファイル(どれ?)をにコミットする必要があると思いますApplication Data
。レジストリファイル全体をバージョン管理下に置くよりも良いものを望んでいます(これは十分な粒度ではなく、ロックの問題を恐れています)。<added1>いくつかの一般的なバージョン管理ソフトウェア(Bazaar、CVS、Darcs、Git、Mercurial、Subversionなど)でラッパーまたはスクリプトを使用するのが理想的ですが、それは絶対的な要件ではありません。</ added1>
現在、Windows 2000およびWindows XPを使用する必要があります。これは作業マシン用なので、ペイウェアは機能しません(オープンソースが理想的です)。GUIよりもコマンドラインの方が快適です。
<added1>これ はサンプルワークフローです。
- ある日、デスクトップの背景をピンクにしたいと思いました。そのため、GUIを使用して変更を行います。これにより、レジストリの
構成ファイルキーの行が変更されます。次に、変更をコミットして追跡します。 - 後で、なぜデスクトップの背景がピンク色なのかと思います。そこで、変更ログで「デスクトップカラー」を検索します。
- ある日、新しいマシンを使用する必要があります。だから私は私の構成リポジトリとピンクのデスクトップをチェックアウトします。
ここに私がやっていないいくつかのことがあります:
バックアップを作成するつもりはありません。(日付だけでなく、セマンティクスまたは少なくとも構文によって)変更をトレースし、マシン間で情報を共有したい(1つのリポジトリ、複数のチェックアウト)。
Windowsインストールを複製しようとはしていません。ハードウェアの依存関係、インストールされているアプリケーション、またはドキュメントを引き継ぎたくありません。
</ added1>