dotfilesのgit管理の強化

先日より自分のホームディレクトリ(~/)をdotfilesとしてまとめてgitで管理するようにしていたのだが、

git status

とかしたときに管理対象としたくないファイルがずらずらっと並べられるのが気になっていた。
これらのファイルを1つ1つ .gitignore に加えればこの状態を避けられるとはいえ、それはとっても面倒臭い。


そんなとき、
■ホームディレクトリをGitで簡単に管理するための.gitignore活用法
を見させていただき、逆の発想で

  • いったん全てのファイルをignore対象にする
  • その後に必要なファイルをそこから除外する

ようにすれば良いということが発覚。


ということで、まずは

/*
/.*

で全てのファイルをignore対象にして、その後に、

!/vimfiles
!/.gitconfig
!/.gitignore
!/.tmux.conf
!/.vimrc
!/.zshenv
!/.zshrc

といったかんじでignoreから除外すると良いみたい。
これはイイ!


現状、私の .gitignore はこんなかんじになってます。↓

# まずは全部ignore
/*
/.*
# 管理対象にしたいファイルだけignoreから除外する
!/Library/Application Support/KeyRemap4MacBook/*.xml
!/bin
!/vimfiles
!/.gitconfig
!/.gitignore
!/.gvimrc
!/.screenrc
!/.tmux.conf
!/.vimperatorrc
!/.vimrc
!/.zshenv
!/.zshrc
!/dot.nodoka
# 管理対象のディレクトリ内でも除外したいものはこの下に追加する
.DS_Store
.svn
*.pyc
.netrwhist