dotfilesをgithubで管理する
やろうやろうと思いつつ、1年くらいずっとやってなかったので会社のサーバの設定をするタイミングで試しに手を付けた。
# 設定ファイルとかはコピペが多いので管理するほどでもなかったのだけども
流れ
1. まずはdotfilesディレクトリを作ってそこにdotfilesなファイルたちを放り込む
[9:16]% cd ~ [~] [9:16]% mkdir dotfiles [~] [9:16]% mv .zshrc dotfiles/. [~] [9:16]% mv .vimrc dotfiles/. [~]
2. そのあとにそれらにシンボリックリンクを張るようなシェルスクリプトを書く
# .gitが入らないようしたいのでgrep -v 'dotfiles/.git$'を忘れない
[9:39]% cat ./dotfiles/setup.sh [~] #!/bin/bash for file in `find $HOME/dotfiles -name '.*' | grep -v 'dotfiles/.git$' | perl -nle 'm!dotfiles/(.+)$! and print $1'`; do ln -s $HOME/dotfiles/$file $HOME/$file done [9:39]%
3. 一旦シェルスクリプトを実行してリンクを張る
sh -x ./dotfiles/setup.sh
4. githubのページに行き、dotfilesというリポジトリを作成
5. githubのページに書いてある手順通り、dotfilesディレクトリに移動し、git init
[9:55]% cd dotfiles [~] [9:58]% git init [~/dotfiles] Initialized empty Git repository in /Users/no-kumagai/dotfiles/.git/ (git)-[master]-[10:03]% [~/dotfiles]
6. README.markdownを作成
[9:54]% cat README.markdown [~/dotfiles] 1. cd $HOME 1. # git clone 1. sh -x ./dotfiles/setup.sh [9:54]%
7. addしてcommit
(git)-[master]-[10:04]% git add . [~/dotfiles] (git)-[master]-[10:04]% git commit -m 'first commit' [~/dotfiles] [master (root-commit) b41fc1a] first commit 4 files changed, 77 insertions(+), 0 deletions(-) create mode 100644 .vimrc create mode 100644 .zshrc create mode 100644 README.markdown create mode 100755 setup.sh (git)-[master]-[10:09]%
8. そしてpush
(git)-[master]-[10:09]% git remote add origin git@github.com:monmon/dotfiles.git [~/dotfiles] git push -u origin master (git)-[master]-[10:10]% git push -u origin master [~/dotfiles] Counting objects: 6, done. Delta compression using up to 8 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (6/6), 1.22 KiB, done. Total 6 (delta 0), reused 0 (delta 0) To git@github.com:monmon/dotfiles.git * [new branch] master -> master Branch master set up to track remote branch master from origin. (git)-[master]-[10:10]% [~/dotfiles] (git)-[master]-[10:10]%
9. おつかれさまでした。