git cleanでUntracked files(未追跡ファイル)をまとめて削除したい時

Git

未追跡ファイルをまとめて削除したい

皆さんは、このような状況ないですか?

作業ブランチでの変更が不要になってgit checkout .したけれど、まだ不要なファイルが残っている

今回はこのような場合の対処方法を解説していきます。

未追跡ファイルが削除できない状況

現在の状況

以下のような状況です。

現在ブランチで作業をしていてこれらの変更が差分として出力されています。

$ git status
ブランチ master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   fileA.txt
	modified:   fileB.txt
	modified:   dirA/dirB/fileC.txt

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)

	modified:   fileD.txt
	modified:   fileE.txt
	modified:   dirC/dirD/fileF.txt

no changes added to commit (use "git add" and/or "git commit -a")

破棄する

これらの変更が不要になったので、破棄します。

$ git checkout .

未追跡ファイルが破棄されていない

このように未追跡ファイルが破棄されていません

$ git status
ブランチ master
Your branch is up to date with 'origin/master'.

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)

	modified:   fileD.txt
	modified:   fileE.txt
	modified:   dirC/dirD/fileF.txt

nothing added to commit but untracked files present (use "git add" to track)

今回はこのような場合の対処方法を解説していきます。

削除対象を確認する方法

いらないファイルを一気に削除したいと思っても、通常の心理状態であれば事前にどのファイルが削除されるのかは確認しておきたくなります。

実行コマンド

git clean -dfn

コマンドオプションの解説

  • -nは確認をする
  • -dはディレクトリも含める
  • -fは強制的に行う

実行結果

Would remove fileD.txt
Would remove fileE.txt
Would remove dirC/dirD/fileF.txt

このように、事前にどのファイルが削除されるのか確認できるので一括でファイルを破棄する際も安心してコマンドを実行できます。

未追跡ファイルをまとめて削除する方法

それでは、実際にファイルを削除するコマンドを紹介していきます。

コマンド自体は、先程紹介した破棄対象のファイルを確認するコマンドから-nオプションを除いたものになります。

実行コマンド

git clean -df

コマンドオプションの解説

  • -nは確認をする
  • -dはディレクトリも含める
  • -fは強制的に行う

実行結果

Removing fileD.txt
Removing fileE.txt
Removing dirC/dirD/fileF.txt

このように、git checkout .で破棄されなかったファイルが、git cleanを使用して一括で破棄することができました!

ヘルプを見て様々なオプションを確認する

その他にも対話的に実行するオプションなどいくつかオプションがありますので、気になる方はhelpを参照してみてください。

git clean --help

まとめ

いかがでしたでしょうか?

Gitのコマンドで未追跡ファイルをまとめて削除したいって場合が結構あったので、記事にしました。

みなさんも是非参考にしてください!

Gitを最短でマスターする方法

Gitの書籍でマスターする

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉

この書籍は、プログラミングを初めたばかりの初心者やGitをコマンド操作ではなく、SourceTreeというツールで簡単に初めたい方にオススメです。

Gitをコマンド操作すると言われてコマンドって何?と思う方は是非この本からGitの基礎を学ぶことをオススメします!

イラスト、図、実際の操作画面が豊富に使用されていますので、わかりやすさも抜群です!


Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉

独習Git

この本は基礎から実際のプロジェクトでの活用方法までのガッツリ習得したい方向けとなっています。

プログラミングを学び初めて半年以上の方や仕事でプログラミングをやっている方が一からGitを学ぶ場合にオススメの書籍です。


独習Git

Udemyの講座でマスターする

もう怖くないGit!チーム開発で必要なGitを完全マスター

僕は最初ネットの記事などを見てGitを使っていたのですが、基礎からしっかりとGitをマスターしたいと思い、こちらの講座を受講しました!

内容的には、プログラミング初心者でも経験者でもGitを一から学びたいという方はオススメです!

こちらの講座はGitをコマンドラインで進めていくのですが、Gitを難しい部分をイメージできるようにイラストや図で詳しく解説されていて、addcommitが裏で何をしているのかまで詳しく理解できるようになります!

どうしても書籍のほうがいい!というこだわりがなければ、udemyの動画であれば実際に手を動かさなくても、ただ動画を見るだけで理解ができてしまうのでオススメです。

忙しくて勉強時間をなかなか取れない方など、隙間時間に動画をみて、空いた時間で実際に手を動かしてやってみるなど工夫すると最速でGitが理解できるのでオススメです!

※こちらの画像をクリックするとUdemyの講座のページへ飛ぶことができます!

その他にもオススメのGit講座を紹介しておきますね!

Git入門: ノンプログラマーのための Git

こちらはUdemyでのベストセラーになっているぐらい高評価の講座となっています!

Git & Github基礎講座

GitもGithubも一緒に基礎から学習することができます!

コメント