Git log: filter par date d'auteur de la validation

J'ai un tel commit

commit 8a183536da1641afa6bd5a27ae391b387b7cd052 Author: hidden AuthorDate: Fri Sep 7 10:13:59 2012 Commit: hidden CommitDate: Fri Dec 7 17:29:24 2012 

Je veux filterr le journal et montrer le commit par AuthorDate .

J'ai essayé --until & --until options, mais il filter réellement le CommitDate .

Cela signifie que je ne peux get le commit que par

 git log --since='2012-12-01' --until='2012-12-10' 

Si je veux get le commit filter par start_date '2012-09-01' et end_date '2012-09-10'

Des conseils?

Solutions Collecting From Web of "Git log: filter par date d'auteur de la validation"

 git log --format=format:"%ai %aE %s" 

puis grep par AuthorName et / ou date!

Je crains que vous ayez besoin de faire des scripts:

 git log --format="%ad %H" --date=iso | sort | ruby -ane 'date = $F[0] ; hash = $F[3] ; puts hash if ("2013-08-23".."2013-09-26").cover?(date)' 

m'a donné:

 3eddb854eaea971e9a60147153f0f3c9be4f1a5a
 dfeefd4715c4fddef0957c5aff238c525bb1def6
 db654badb97f3784286171d4645e9face6a42865
 62cdba07e6ae0cd28752491a83f584d3e18a5619
 7643a0458a54200f8944583d66c089d63c1bf688
 23b720852a36e959d0f45f9d11f05d4aa7ee0cb9
 f729ec9c5bf37ee0284a8db47cbc79a0b53145bb
 bc2d647ae86fbff1246ba163a5a99d25ed2f3523
 a0752b3cbae39698449be953153ddaafe35c054c
 8e88fffc75cbdda333c86cb4f5eb9b5b30263c27

Malheureusement, git log 3eddb854eaea971e9a60147153f0f3c9be4f1a5a..8e88fffc75cbdda333c86cb4f5eb9b5b30263c27 n'est pas garanti de fonctionner parce que ces commits peuvent être dans des twigs différentes.

Expliquons ce que j'ai fait:

  1. --format="%ad %H" – format du journal en tant que author_date commit_hash lines
  2. --date=iso – dates en YY-mm-dd HH:MM:SS
  3. sort – Commande Unix qui sortinge les lignes par ordre alphabétique; il est approprié de sortinger les dates au format ISO
  4. ruby -ane – exécute un script ruby. -n signifie exécuter pour chaque ligne, -a scinde ces lignes et place les champs dans le tableau $F , -e précise le script à exécuter
  5. ("2011-02-23".."2011-02-26").cover?(date) – créer une gamme à partir de deux strings et vérifier si la date y correspond inclusivement (dans le sens de l'ordre alphabétique, nous ne les analysions pas Rendez-vous)

Je n'ai aucune idée de ce qu'il faut faire ensuite (pour vous donner un meilleur journal), mais je suis heureux de vous emmener à ce point.

Je veux parfois connaître les commits rendus par moi à une certaine date. Pour cela j'utilise git log --all --author=jpo --format="%ai %s" |grep -E ^2015-09-01 . Malheureusement cette approche ne fonctionnera pas pour le filtrage par plage de dates en général, mais pour la gamme utilisée dans la question, cela pourrait être facilement fait: git log --all --author=jpo --format="%ai %s" |grep -E ^2012-12-(0.|10) Si vous souhaitez plus d'informations sur les validations en dehors de la date d'auteur et du message de validation, ajoutez simplement plus de parameters à la string de format (consultez la section PRETTY FORMATS de la page du git help log ).