> echo "test" > myfile
> chmod 777 myfile
> git add myfile && git commit -m "Test" && git push
> chmod 775 myfile
> git reset --hard origin/master
This doesn't tell what the permissions are in origin/master.
If the last line was "git reset --hard HEAD", then it wouldn't touch myfile (it's executable in the worktree and in HEAD, so Git doesn't need to change it). Neither the x bit, nor the ctime or mtime.
If you reset the file to a point where it was not executable, then Git changes its executable bit, and I don't see why it would do otherwise:
Git tracks the executable bit, so when you say "reset the file to how it was in this revision", this includes the content and executability.
Reading your message, I don't understand why you need to be able to ignore the x bit.