とある学生の技術Blog

半分くらい自分の備忘録として…

シェルの設定ファイル等をgitで管理する

f:id:t-0731:20150806114708p:plain
zshで言えば.zshrcファイルやVimの.vimrcファイルなど、設定ファイルは色々書き換えするのでgitで管理すると便利だと思ってググったら結構やっている方がいたので実践しました。

Githubリポジトリを作成する

今回はGithubで管理します。Githubのフリー版だとリポジトリが公開されてしまうので非公開にしたい方は他のgitサービスを使うといいかもしれません。*1
まず右上の「+」となっているところをクリックするといくつか出てくるので、「New repository」をクリック。
以下のようにリポジトリ名を入力してリポジトリを作成します。
設定ファイルのことをまとめてdotfilesというらしいので今回はdotfilesという名前で作成しました。(画像はすでにdotfilesがあるため警告が出ていますが、実際は表示されません)
f:id:t-0731:20150806121900p:plain

セットアップ

作成後にクイックセットアップが表示されるので手順に従って行います。
今回はコマンドラインから設定します。 まず設定ファイルを管理しやすいようまとめます。

$ mkdir ~/dotfiles

この場所に設定ファイルを移動させます。 試しに.vimrcと.zshrcを移動させてみます。

$ mv ~/.vimrc ~/dotfiles
$ mv ~/.zshrc ~/dotfiles

次にシンボリックリンクを貼ります。 シンボリックリンクとはWindowsでいうショートカットのことです。

$ ln ~/dotfiles/.vimrc ~/.vimrc
$ ln ~/dotfiles/.zshrc ~/.zshrc

これで今までどおり~/.vimrcのようにファイルを開けるようになります。 次にgitの設定をします。
まず、ディレクトリを移動します。

$ cd ~/dotfiles

次に以下のようにセットアップします。README.mdやコミットの内容は適当に決めて大丈夫です。

$ echo "# my dotfiles" >> README.md
$ git init
$ git add README.md

他にリモートリポジトリに追加したいファイルを追加します。

$ git add .vimrc
$ git add .zshrc

最後にコミットとプッシュをして完了です。[username]は自分の環境に合わせて変更します。

$ git commit -m "first commit"
$ git remote add origin https://github.com/[username]/dotfiles.git
$ git push -u origin master

これで最初のコミットが出来ました。変更されているかGithubで確認してみましょう。
設定ファイルを変更した場合、

$ git commit -m 'commit message'
$ git push

これで変更がリモートリポジトリに反映されます。