GitHubにdotfilesを登録してみたよ

開発環境が変わるたびに設定ファイルを作りなおすというのは非常に面倒なことです。これらのファイルををGitHubに登録しておき、都度cloneするというのがだいぶ前からのトレンドのようです。えぇ、全然知りませんでしたよ。早速やってみました。GitHubアカウントを予め作っておく必要があります。

GitHubにリポジトリの作成

ローカルではコマンドによってリポジトリを作成しますが、GitHub上ではGUI操作により作成する必要があります。右上の「+」、「New repository」からリポジトリの新規作成画面に移動します。

github

Repository nameにリポジトリ名、Descriptionに説明を入力しましょう。また、有料プランを使用している場合はリポジトリの非公開も選択することができます。ここではリポジトリ名に「dotfiles」のみ記入して完了です。

dotfilesの作成

GitHubに登録したいファイルをdotfilesディレクトリに移動します。私の場合は今のところvim関係とbashrcだけです。

$ mkdir dotfiles
$ mv .vimrc ~/dotfiles/
$ mv .vim ~/dotfiles/
$ mv .bashrc ~/dotfiles/

続いてclone後に実行するスクリプトを用意。名前はなんでもいいんですが、私はinstall.shとしました。内容は適宜変更しましょう。

#!/bin/sh
 
ln -sf ~/dotfiles/.vimrc ~/.vimrc
ln -sf ~/dotfiles/.vim ~/.vim
ln -sf ~/dotfiles/.bashrc ~/.bashrc
 
# vim plugin manager install
git clone git://github.com/Shougo/neobundle.vim ~/dotfiles/.vim/bundle/neobundle.vim

今回vimのプラグインは管理対象から外すためgitignoreに記述します。

echo '.vim/bundle/*' >> ~/dotfiles/.gitignore

ローカルリポジトリの操作

続いてGitHubが教えてくれた手順に沿ってローカルのリポジトリを操作します。
github-2

$ cd ~/dotfiles/
$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://github.com/[GitHubのユーザ名]/dotfiles.git
$ git push -u origin master

問題がなければ、ユーザ名とパスワードの入力が求められてdotfilesの登録が完了します。

手元の環境に適用する場合はcloneしてスクリプトを実行します。

$ cd
$ git clone https://github.com/[GitHubのユーザ名]/dotfiles.git
$ cd dotfiles/
$ sh install.sh

vimのプラグインインストールなどは別途行う必要があります。

ファイルを追加したり内容を変更した時は再度、add + commit + pushしましょう。

$ git add ファイル名
$ git commit -m 'メモ'
$ git push

これからdotfiles追記していこう

エラーが発生したら

commitの際に「*** Please tell me who you are.」と言われた場合はgitの設定ファイルを作成する必要があります。
単純に~/.gitconfigを作成して以下の内容を書き込むか、

[user]
  name = ユーザ名
  email = メールアドレス

以下のコマンドを実行しましょう。

$ git config --global user.email "メールアドレス"
$ git config --global user.name "ユーザ名"