I have recently switched over from command line GIT to Atlassian Sourcetree because I like to see what is going on, makes things like branching and selective commits a whole lot nicer as well.
One issue I encountered was files set to be ignored in my .gitignore file were still showing up in the working copy when modified even though when looking via the command line, you see they’re being ignored.
The Issue
In my case the problem was I was trying to ignore files that were previously not ignored. I had some generated Javascript being compiled from Gulp.js that I was previously committing, I added my ignore directives AFTER the fact.
In the eys of Sourcetree, changes are still showing up and being commited because even though you’re now ignoring them, GIT and Sourcetree still think they’re important.
The Fix
Remarkably simple. You just need to right click on the file(s) you want to ignore and click, “Stop Tracking” this will stop the file being tracked, but keep it locally on your machine.
Just make sure you have all of the files you’re untracking added to your .gitignore file or you’ll still see them.
Works great! Creating the .gitignore file AFTER some commits was indeed the source of the problem.