git addしてしまったファイルをgitignoreする

gitignoreはuntrackedなファイルを除外してくれるけどtrackedなファイルの扱いはいまいち動作がよくわかっていない。

git add でディレクトリを突っ込んで、中間ファイルなどを除外しようと.gitignoreに追加してもgit statusするとnew fileとかいわれてtrackedされたまま。

とりあえずgit addを取り消すにはgit rm –cachedで行けるとわかったので、git add後、git commit前のファイルならgit rm –cachedで除外ファイルを一旦trackedからuntrackedにもどしてあげると.gitignoreが効くっぽい。

コミットしたあとはどうするんだろう。消して良いファイルならgit rmで終わりだけどリポジトリから消したいけどローカルには残したいって場合はどっかに退避しておくしかないのだろうか。