git rebase sans changer de commettre des horodateurs

Serait-il judicieux d'effectuer git rebase tout en préservant la validation des timestamps?

Je crois conséquence serait que la nouvelle direction n'auront pas nécessairement commettre les dates dans l'ordre chronologique. C'est que théoriquement possible? (par exemple, à l'aide de la plomberie des commandes; il suffit de curieux, c'est ici)

Si elle est théoriquement possible, est-il possible, dans la pratique, avec cela, de ne pas modifier le timestamp?

Par exemple, supposons que j'ai l'arbre suivant:

master <jun 2010>
  |
  :
  :
  :     oldbranch <feb 1984>
  :     /
oldcommit <jan 1984>

Maintenant, si je rebase oldbranch sur master, la date de la validation des modifications à partir de février 1984 à juin 2010. Est-il possible de changer ce comportement, de sorte que la validation d'horodatage n'est pas modifié? En fin de compte je voudrais donc obtenir:

      oldbranch <feb 1984>
      /
 master <jun 2010>
    |
    :

Que cela ferait beaucoup de sens? Est-il même permis à git d'avoir une histoire où un ancien commit a une plus récente, s'engager en tant que parent?

  • C'est funky que la réponse à la question est en effet de "vous n'avez pas besoin de faire quoi que ce soit - c'est la façon dont il fonctionne par défaut". Mais maintenant, supposons que vous souhaitez engager à être triés dans le bon ordre de date, tout en faisant des rebase (ce qui est assez naturel scénario si vous pensez à ce sujet). Maintenant, je n'ai pas pu trouver comment l'atteindre, ainsi que posté mon q comme stackoverflow.com/questions/12270357/really-flatten-a-git-merge
  • David mentionne une autre option pour réinitialiser committer date: git rebase --committer-date-is-author-date SHA. Voir mon édité réponse ci-dessous
  • Je viens d'écrire un une vaste réponse sur question similaire dont l'auteur a essayé les réponses expliqué ici et je ne pouvais pas les appliquer de manière satisfaisante.