Dropbox is a "user-friendly" service that will do things automatically for you, which may not always be what you want. There is nothing to do about it until they implement permission retention (translation) between the different operating systems which they support.
When you save something to dropbox from a windows box, the permissions will be 755, but the default permissions on linux are 644. OSX probably defaults to 755 for folders and 644 for files too. The point being it's not trivial to make everything "work properly" independent of the OS being used, even if it's between the same OS. The back-end still has to be "neutral" in case of Dropbox.
When git repos are concerned, you're doing it wrong. They already have "synchronization" because it's a version control system. As long as you have full access to the different boxes you sync between, you're better off synchronizing through ssh. That is, using push and pull directly.