dotfilesをGithubで管理する
やろうやろうと思ってたけど、まだやってなかったので試してみます。
手順は以下の通りです。
1. Githubにリポジトリを作る
2. dotfilesを管理用ディレクトリに移す
3. シンボリックリンクを張る
4. Githubへpush
想定しているOSはMacOSです。
dotfilesって?
homeディレクトリに置かれてる.vimrc
とか.bash_profile
とか
頭に.(ドット)
が着いている設定ファイル全般をdotfiles
と呼ぶらしいです。
何でGithub?
Github
に限らずですが、どうしてリモートリポジトリで管理するのか。
複数の環境を持つと、いちいち設定ファイルを持ってきたり設定し直すのが手間です。
外部で管理することで、新しい環境への導入や複数環境での設定の同期が非常に楽になります。
まだやっていないので皆がそう言ってるってだけなんですが。。。
何はともあれ、早速試してみましょう。
1. Githubにリポジトリを作る
まずはGithub
にリポジトリを作っておきましょう。
1.new repository
をクリック
2.Repository name
をdotfiles
にしてCreate repository
をクリック
これでOK。
2. dotfilesを管理用ディレクトリに移す
git
で管理できるように~/dotfiles
へ管理したいファイルを移しちゃいましょう。
mkdir ~/dotfiles mv ~/.vimrc ~/dotfiles mv ~/.zshrc ~/dotfiles mv ~/.tmux.conf ~/dotfiles
3. シンボリックリンクを張る
このままだと設定ファイルを参照できないので、シンボリックリンクを張ります。
シェルスクリプトとして書いておけば、導入が非常に楽になります。
#!/bin/sh ln -sf ~/dotfiles/.vimrc ~/.vimrc ln -sf ~/dotfiles/.zshrc ~/.zshrc ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf
早速実行してみましょう。
$ chmod +x ~/dotfiles/symlink.sh $ sh ~/dotfiles/symlink.sh
シンボリックリンクが張られたら成功です!
4. Githubへpush
それでは最後にGithub
へpush
しちゃいましょう。
手慣れた人はささっとやっちゃって。手慣れてない人は書いてある通りにやってみましょう。
xxxx
にはGithub
のユーザー名が入ります。
$ cd ~/dotfiles $ git init $ git add . $ git commit -m "first commit" $ git remote add origin https://github.com/xxxx/dotfiles.git $ git push -u origin master
これで無事Github
にアップロード出来ました!
それから
- 新しい環境に
dotfiles
を導入したい時には
$ cd ~
$ git clone git@github.com:xxxx/dotfiles.git
$ sh ~/dotfiles/symlink.sh
- 新しい変更を
Github
に反映させたい時には
$ cd ~/dotfiles
$ git push
Github
の変更をローカルに反映させたい時には
$ cd ~/dotfiles
$ git pull
こんな感じです。