title: 'git checkout' - how can I maintain timestamps when switching branches?
body: <p>I often switch back and forth between branches. I have a script which pushes the contents of the checkout to a 'running' environment where I can see the code run and test it (it's a web app). This push script uses <a href="https://en.wikipedia.org/wiki/Rsync" rel="nofollow noreferrer">rsync</a> at its heart and it uses timestamps to detect what files should really be transferred. Because 'git-checkout' seems to set the timestamps on the files to the current time, rsync reports all files are being pushed up, only because timestamps will be updated.</p>
  <p>How can I have 'git-checkout' retain timestamps when switching between branches so that rsync will report only content changes?</p>
  <p>I do not want to use rsync's checksum argument as it is very slow.</p>