二つ以上のPCでemacsを利用していると、設定ファイルの共有が面倒になってきたので、gitでバージョン管理してみました。
構成
自分の場合は、さくらインターネットを共用リポジトリにしました。また、ローカルの方では、ホームディレクトリにemacs/ディレクトリをローカルリポジトリとして作成し、その中に.emacsファイルと.emacs.d/ディレクトリ(カスタマイズ用のelispファイル等はここに入れています)を設置しました。
さくらインターネットでの共用リポジトリの作成はhttp://d.hatena.ne.jp/shiba1029196473/20100324/1269406164も参照してください。
サーバ側に共用リポジトリを作成
すぐできます。
[server]$ mkdir -p repository/emacs.git
[server]$ cd repository/emacs.git
[server]$ git --bare init --share
ローカル側にローカルリポジトリを作成
まず、emacsディレクトリを作り、ローカルリポジトリを作成します。
[local]$ mkdir emacs
[local]$ mkdir emacs/
[local]$ cd emacs
[local]$ git init
次に現在の設定をemacsディレクトリに移し、最初のコミットを行います。
[local]$ mv .emacs emacs/
[local]$ mv .emacs.d/ emacs/
[local]$ git add .
[local]$ git commit -m "emacs設定のバージョン管理開始"
リモートリポジトリ設定を行い、最初のpushを行います。
[local]$ git remote add origin ssh://username@username.sakura.ne.jp/home/username/repository/emacs.git
[local]$ git config branch.master.remote origin
[local]$ git config branch.master.merge refs/heads/master
[local]$ git push ssh://username@username.sakura.ne.jp/home/username/repository/emacs.git master
homeディレクトリにシンボリックリンク
実際emacsはhomeディレクトリから設定を読み込むので、シンボリックリンクを張っておきます。
[local]$ ln -s ~/emacs/.emacs ~/.emacs
[local]$ ln -s ~/emacs/.emacs.d ~/.emacs.d
これでローカルリポジトリと共用リポジトリの設定が終わりました。違うPCからでも共用リポジトリをcloneしてくることで、設定を共有できます。またpull,pushを使うことで、どのPCの設定も最新にすることができます。実際これよりもっと簡単な方法があるかもしれません。もしあれば、コメントにて教えてもらえるとありがたいです。