git で作業してて困るのが「追加」ファイルの取扱い
git checkout でファイルの変更を取り消したり、ファイルの編集をなかったコトにすることは出来る
だが、あれこれ試してやっぱり使わなかったファイルを消すことはcheckout ではきない。
touch aaaaaaaaaaaaaaaaa git checkout ls aaaaaaaaaaaaaaa ##
未追跡のファイルに対して何もしないというのはある意味で便利だし、有能な機能なんだけど。
generator 系でミスったファイルを消したい
クラスのジェネレーションやテンプレの追加とか一発出来るコマンドがあったり、gulp のタスクをみすって作っちゃったファイルとかそういうのをまとめて消したいときにはどうする。
git clean でかいけつ
git clean -n # 消されるファイルをプレビュー git clean -f # 確認しました。消してください。
これでディレクトリのツリーとワーキングツリーの状態が一致するようになる。
ディレクトリもある場合は、 -d
をつける
git clean -f -d
つまりどういうことかというと
git status
でコマンドを実行したときに出てくる。 Untracked files
を消すということ
gitignore で無視してるファイルは対象にならない。
この状態でこの条件でclean してあげれば、クラスのディレクトリ構成にゴミを作っても安心してもとに戻せるからガンガンファイルを足して多少コマンドでミスったくらいでも気にしなくていい。便利。
合わせて覚える git
git clean -i
インタラクティブにファイルを指定する(条件指定とか)git clean -x
gitignore の対象のファイルを消すgit stash
作業中のファイルをどける