From: Devste Devste Date: Sun, 05 Oct 2025 11:33:23 GMT Subject: Re: git clean deletes negated pathspec if directory causing data loss Message-ID: In-Reply-To: Just to clarify: it's not about the negation not working, but clean ignores the pathspec for ignored directories completely. I only want to delete .rej and .log files, but it will also delete gitignored directories (that may or may not contain any .rej or .log files) On Sun, 5 Oct 2025 at 13:27, Devste Devste wrote: > > I am using: > git version 2.51.0.windows.1 > > Run: > echo .idea/dictionaries >> .gitignore > mkdir -p .idea/dictionaries > touch .idea/dictionaries/foo.xml > git clean -f -f -d -X --dry-run -- ':!/.idea/dictionaries' ':*.rej' ':/*/*.log' > > Outputs: > Would remove .idea/dictionaries/ > > No matter how you specify the pathspec (':!.idea',...) it always wants > to delete the .idea/dictionaries directory, even though it does not > contain any .rej or .log files and is explicitly set to excluded