設定ファイル(dotfiles)をGitHubで管理する
~/.zshrcや./emacs.d等の各アプリケーションの設定ファイルをGitHub上で管理すると他のPC(仕事用)などでも同じ設定を共有できてるということでやってみました。
基本的なアイデアとしては、以下のようになります。
- ホームディレクトリ直下にdotfilesというフォルダを作りそこに各アプリケーションの設定ファイルを配置し、ホームディレクトリにはそれらへのシンボリックリンクを作成します。
- dotfilesディレクトリをGitHub上にpushし共有します。
- 他のPCではdotfilesディレクトリをGitHub上からcloneし、そのディレクトリから1と同様にシンボリックリンクをホームディレクトリに作成することで同じ設定ファイルを共有します。
それでは、手順を追っていきます。
Gitのインストール
GitのインストールはHomebrewでやっておきます。
$ brew install git
Gitの設定は以下の2つをやっておきます。
$ git config --global user.name [ユーザ名] $ git config --global user.email [Eメール]
GitHubの準備
- https://github.comでアカウントを作成します。
- Generating SSH Keys · github:helpの手順に従ってSSHの公開鍵をGitHubに登録します。
- 個人ページのトップ画面からリポジトリを作成します。僕は「dotfiles」という名前のリポジトリにしました。
Gitリポジトリの作成とGitHub上へのPush
以下コマンドで行います。
$ mkdir ~/dotfiles (ホームディレクトリ直下にdotfilesディレクトリを作成) $ cd ~/dotfiles $ git init (Gitリポジトリを作成) $ mv ~/.zshenv . $ ln -s .zshenv ~/.zshenv (共有したい設定ファイルをdotfilesディレクトリに移動し、シンボリックリンクをホームディレクトリ直下に作成する) $ git add .zshenv $ git commit -m 'zsh setting file commit' (共有したい設定ファイルをコミット) $ git remote add orign git@githob.com:[GitHub上のユーザ名]/[GitHub上のリポジトリ名(dotfiles)].git $ git push origin master (コミットした設定ファイルをGitHub上にPush)