Hi there! I hope that the subject of my message (i.e. the question) is exhaustive enough, so I'll just stick to reproducing my issue. Steps to reproduce: 1. Create a new file. 2. Stage the file. 3. Add the file to .gitignore. 4. Stage the .gitignore. 5. Commit changes. I imagined that the file would now be removed from the stage (because it's ignored now and not yet committed) but it isn't. Where this behavior would be desirable? I know that a 'git add' command can be invoked with an '-f' flag, which would yield the same result, but I can't come up with an explanation where can it be applied.