Being certain that there are no textual differences in the files doesn't necessarily mean that there are no differences at all and no conflicts isn't the same thing as no differences.
These differences can be anything. Filename case re-mapping (I've seen this when working with code on the non-case-sensitive Apple filesystem) to permission changes, to the difference in line endings between what's in the file and what's expected to differences in file timestamps.
The first thing to start with is always git fetch origin
to ensure your local ref store is fully up to date and then git diff origin/branch
and look at why git thinks there are differences.
Do this from the terminal and not from an IDE. Depending on which IDE you use, they sometimes silently re-write line endings in the background which will only add to the confusion.
If, as you explain, there are no text differences, it's usually pretty safe to reset back to the origin head but (and there is a caveat), if you have something re-mapping files, perhaps in your git config (altering permissions, changing line-endings, etc.) or filesystem modifying permissions, then there is nothing to prevent this from re-occurring.
Look for what is happening first, then look for why it's happening. Without seeing your git configuration, workflow and difference outputs, it's hard to say with any certainty where the changes are coming from.