git checkout
updates the index and the working tree.
git diff
compares the working tree against the index.
git diff --cached
compares the index against HEAD.
git help checkout
says about git checkout <tree-ish> -- <pathspec>
:
The <tree-ish> argument can be used to specify a specific tree-ish
(i.e. commit, tag or tree) to update the index for the given paths
before updating the working tree.
If you really only want to update you working tree you can reset the index using:
git reset HEAD Xml/Config-Profile.xml
as suggested by your git status
output.