Your comments
This already happens...
If you select Commit B and Commit E it will list all the files That have changed between the two. EG, "the diff".. between the two commits.. If you want to also include B's changes too, you would need to select Commit A and Commit E.
What you cannot do is Select Commit B, D, E and G... That is not how Git Diff works. (Which is what the log is based on).
This sounds very destructive. Destructive behaviour is usually restricted to happen only on user interaction.
To add onto this. There have been times when I have no been able to find all the .gitignore files that are being parsed on a particular repo.
As I have a global .gitignore + sometimes one that is on the repo root, but then there have been times when they are deep within the folder structure and I have not thought to look.
So a little "Ignore manager" might be useful. Could use this interface to easily list all the ignored files/folders and possibly highly "WHY" they are ignored.. Which .gitignore file (or possibly multiple) are the reason why the file is being ignored.
... Hmm, I think when I have time I may write this down as a full blown request.
That more sounds like SourceTree is polling the GitHub (or other servers) more often than the GitHub recommended poll time.
I thought, once apon a time, it WAS on the context menu? And then it was removed?
Customer support service by UserEcho
Is the fetch not directly related to poll? I didn't think it would try to do a fetch if it detected no difference with ls-remote ?