スポンサーリンク

git clean -f で未追跡のファイルを削除する

git clean -f で未追跡のファイルを削除することができます。

例えば、下記の未追跡ファイルとディレクトリがあったとします。

 (master)$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	dir001/clean.txt
	dir_clean/

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

ちなみに、git cleanにはオプションが必須となります。

 (master)$ git clean
fatal: clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean

git clean -f をすると、

 (master)$ git clean -f
Removing dir001/clean.txt

スポンサーリンク

git clean -fd で未追跡のフォルダも削除する

git clean -f だと未追跡のディレクトリは削除されません。

 (master)$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	dir_clean/

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

-dオプションで未追跡のフォルダを削除することができます。
git clean -fd で未追跡のフォルダも削除します。

 (master)$ git clean -fd
Removing dir_clean/
 (master)$ git status
On branch master
nothing to commit, working tree clean

git clean -f で削除されるのは未追跡ファイルのみ

git clean -f で削除されるのは未追跡ファイルのみです。
登録済みのファイルに差分があっても削除されません。

例えば、下記の状態だったとします。

 (master *)$ git status 
On branch 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:   file001.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	clean.txt

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

git clean -fd しても未追跡のファイルのみ削除されます。
file001.txtの変更は残ったままです。
 (master *)$ git clean -fd
Removing clean.txt
 (master *)$ git status 
On branch 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:   file001.txt

no changes added to commit (use "git add" and/or "git commit -a")
 (master *)$ git diff
diff --git a/file001.txt b/file001.txt
index a240102..ad37bd3 100644
--- a/file001.txt
+++ b/file001.txt
@@ -8,3 +8,4 @@ text5
 text6
 text7
 
+new

スポンサーリンク