Whenever git checks for a certain file (for example, after clone ), it sets the changed time to the current time.
Consider the following scenario: you have branches creatively called One and Two. You check "One" and do make . Then you select "Two" and run make again. There is a certain file called this, the last time was changed 1 and 2 months ago in the corresponding branch. If git checked file with its original modified time, each time you switch the file branches, it will be changed a long time ago while there will be make . Not a good thing (TM).
source share