Changing the History view so it can also show remote changes is on our roadmap. This requires a rewrite of the History dialog (which we intend to rebuild as a non-blocking panel instead of a blocking dialogue), which is why it's sadly non-trivial.
The themecache issue is very persistent, and we will pick this up again after 10.21 (March 2025). Gitignore is a workaround that works.
This is indeed due to the way Git works. Git tracks changes locally so it will only check for new commits when a pull is done. In order to do a Pull, your changes have to be committed to Git because Git will also do a merge of the pulled changes.
The flow of this is usually not very intrusive but it does work different than SVN which was used by Mendix previously. What makes it annoying sometimes is, like you said, the change of the compiled css file. This is a generated file and ideally should be added to the gitignore file so that it wont be picked up.
I usually select the option 'Commit locally' if I want to pull but not ready to have my changes pushed yet. This options is under the dropdown on the Commit screen, by default 'Commit and Push' is selected.