複数PC間で設定ファイルを同期できるhomesickが便利
複数PCを使っていると、.bashrcやら.emacsやらの設定ファイルの同期がめんどくさいと思ったことはないでしょうか。
家のPCで新しい設定を追加したけど会社でもおんなじ設定使いたい・・・とか、会社の色んなサーバで作業する時におんなじエイリアス使いたい・・・とか。
そんな面倒な作業を楽にしてくれるのがhomesickです。
ここで簡単な使い方をご説明します。
インストール
rubyが入っていることが前提ですが、
だけです。rvmを使ってなければ頭にsudoをつけてください。
使い方
まずは自分の設定ファイルをgithubに上げましょう。
これでgithubに自分の設定ファイルがアップされました。
それでは早速homesickを使ってみましょう。
このように homesick clone [ユーザ名]/[リポジトリ名]とやると、githubのリポジトリからcloneしてくれます。普通にURLを渡せばgithub以外のリポジトリからもcloneできます。clone先のディレクトリは
~/.homesick/repos/muratayusuke/dotfiles
になります。
これだけでは反映されないので、実際に使う場所からシムリンクを貼ります。
こんな感じで、自動でdotfiles/homeフォルダの下にあるファイル全部にシムリンクを貼ってくれます。
では、違うPCで変更した設定を反映させたい場合はどうすればいいでしょうか
うん、わかりやすい。
その他あれこれ
このhomesick、オリジナルはこちらですが、pull requestを送ってもリアクションないしメンテされてないっぽくて、しゃーなしでyahomesick(Yet Another Homesick:もうひとつのhomesick)という名前に変えて勝手にgem公開しちゃいました。
オリジナルからの変更点はこんな感じです。
・dotfilesが多重サブモジュールを持ってても再帰的にupdateしてくれるようにした(元は1階層しか対応してなかった)
・homesick clone muratayusuke/dotfilesってやるとread-onlyでcloneしちゃってたのを、ローカルでいじってpushしたかったのでwriteできるsshプロトコルで落としてくるようにした
・homesick commitやhomesick pushなどのコマンドを作ってる人がいたので勝手に取り込んだ
3つ目のcommitとかpushとかはおもしろそうやから入れてみましたが、いつも直接clone先のフォルダに潜って作業するのであんまり使わないです。
あといちいちリポジトリ名を打つのがめんどいので、デフォルトのリポジトリを持っといてhomesick pullとかだけでいけるようにしたいです。おいおいいじります。
というわけで、もっとこんな機能欲しいとかバグがあったとかありましたらツイッターでもfacebookでもお気軽にご連絡ください。
pull requestを送っていただけるとなお嬉しいです。
ソースコード:https://github.com/muratayusuke/yahomesick
ソースコード:https://github.com/technicalpickles/homesick
追記(2013/07/02)
だいぶ前にhonesick本家のメンテナになれたので、yahomesickの方はもういじりません。ぜひ本家をご利用ください。ということで冒頭のインストールコマンドと、最後のソースコードリンクを修正しました。
「最短で学ぶReactとReduxの基礎から実践まで」10%OFFクーポン
UdemyでReactとReduxの動画講座を公開しています。
このブログの読者限定クーポンを使って、基礎から実践までを学びましょう。
「最短で学ぶReactとReduxの基礎から実践まで」10%OFFクーポン
UdemyでReactとReduxの動画講座を公開しています。
このブログの読者限定クーポンを使って、基礎から実践までを学びましょう。