それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

gitで追加したけど要らないファイルを消す(clean Untracked files)

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 作業中のファイルをどける

参考資料

https://stackoverflow.com/questions/61212/how-to-remove-local-untracked-files-from-the-current-git-working-tree