Cleaning ignored files

2 messages, 2 authors, 2016-11-10 · open the first message on its own page

Cleaning ignored files

From: Roman Terekhov <hidden>
Date: 2016-11-09 18:24:09

Hi,

I want to ask about git clean -dXf command behaviour.

I do the following:

$ mkdir gitignore_test
$ cd gitignore_test/
$ git init
Initialized empty Git repository in ~/gitignore_test/.git/

$ echo *.sln > .gitignore
$ git add .gitignore
$ git commit -m "add gitignore"
[master (root-commit) ef78a3c] add gitignore
 1 file changed, 1 insertion(+)
 create mode 100644 .gitignore

$ mkdir src
$ touch test.sln
$ touch src/test.sln
$ tree
.
├── src
│   └── test.sln
└── test.sln

1 directory, 2 files

$ git clean -dXf
Removing test.sln

$ tree
.
└── src
    └── test.sln

1 directory, 1 file


Why git clean -dXf does not remove all my test.sln files, but just one of them?

Roman Terekhov

Re: Cleaning ignored files

From: John Szakmeister <hidden>
Date: 2016-11-10 09:20:06

On Wed, Nov 9, 2016 at 1:23 PM, Roman Terekhov [off-list ref] wrote:
Hi,

I want to ask about git clean -dXf command behaviour.

I do the following:

$ mkdir gitignore_test
$ cd gitignore_test/
$ git init
Initialized empty Git repository in ~/gitignore_test/.git/

$ echo *.sln > .gitignore
$ git add .gitignore
$ git commit -m "add gitignore"
[master (root-commit) ef78a3c] add gitignore
 1 file changed, 1 insertion(+)
 create mode 100644 .gitignore

$ mkdir src
$ touch test.sln
$ touch src/test.sln
$ tree
.
├── src
│   └── test.sln
└── test.sln

1 directory, 2 files

$ git clean -dXf
Removing test.sln

$ tree
.
└── src
    └── test.sln

1 directory, 1 file


Why git clean -dXf does not remove all my test.sln files, but just one of them?
src/ is not under version control, and currently git does not descend
into unknown folders to remove ignored files.  If you had a tracked or
staged file in src/, then git would descend into src/ and remove
test.sln as expected.  In your example, try doing:

$ touch src/foo.c
$ git add src/foo.c
$ git clean -dXf
Removing src/test.sln
Removing test.sln

Hope that helps!

-John
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help