Das kannst du nicht - zumindest nicht allein in Git. (Erinnerung an andere , diese Frage zu besuchen: Es geht nicht darum , sehen den Autor Datum, es geht um Commits durch die Auswahl des Autors Datum, a la --since/ --afterund --until/ --beforeverwenden Diese Selektoren das. Committer Datum, nicht der Autor Datum Betrachten wir als ein extremes Beispiel ein begehen. "jetzt" gemacht, so dass sein Committer-Datum in den 2000er Jahren liegt, aber im Feld "Autorendatum" auf einen Tag im Jahr 1999 zurückdatiert ist. Wenn Ihr Auswahlbereich "jederzeit nahe der Jahrhundertwende" ist, werden Sie de -Wählen Sie dieses Commit aus, da sein Committer-Datum "jetzt" ist, mehr als ein Jahrzehnt nach 1999.)
Ich halte dies für einen kleinen Fehler in Git: Sie sollten in der Lage sein, die Verwendung des Autorendatumsfelds überall dort anzufordern, wo Sie die Verwendung des Committer-Datumsfelds anfordern können. Dies ist leicht mit Protokoll Formatierung , da wir %adund %cdund dergleichen, aber nicht mit Auswahl begehen . Das nächste, das wir haben, ist das git rev-listSortieren nach Autorendatum (innerhalb der allgemeinen Toposortierung).
Ein globaler Schalter in git rev-list, wie --use-author-datewürde als einfacher Patch arbeiten, und würde nicht allzu schwer zu Git hinzuzufügen, aber ich denke , es wäre besser , zu haben --min-author-ageund --max-author-ageoder ähnlich, und ein „sortiert nach Autor Datum“ Flag (unabhängig von das allgemeine --topo-orderFlag, so dass das Setzen beider Flags den gleichen Effekt hat wie --author-date-order).
Um dieses Problem zu umgehen, können Sie alle potenziell interessanten Commits auflisten (mit git rev-listoder gleichwertig, z. B git log.: Verwenden Sie einen beliebigen Bezeichner, der Commits potenziell interessant macht, mit Ausnahme von Datumsfiltern: in diesem Fall ist dies nur der Fall --all) und extrahieren Sie alle Felder für das Autorendatum (mit git log --format=%atoder was auch immer), schneiden Sie dann die Liste der Festschreibungs-IDs selbst ab und senden Sie die verbleibenden Festschreibungs-IDs erneut an git log --no-walk. Aber das ist bestenfalls schmerzhaft. Weitere Informationen finden Sie in der Antwort von Tim Beigeleisen mit awk .