git clean deletes negated pathspec if directory causing data loss
- From
- Devste Devste <devstemail@gmail.com>
- Date
- Oct 5, 2025, 11:27 UTC
- Message-ID
- <CANM0SV0R7OYJKeBAs5-WY2Wqp7VxhKv5=LQ4cuDd6MaQwNqGNw@mail.gmail.com>
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