Wie bekomme ich Unterschiede für den angegebenen Benutzer zwischen zwei Daten von Git?

Lesezeit: 2 Minuten

Benutzer-Avatar
Mixer

Wie kommt man diff für den angegebenen Benutzer zwischen zwei Daten von git? Oder wie man git verwendet whatchanged Befehl zum Auflisten von Commits für den angegebenen Benutzer?

Gibt es einen Weg ohne Skripting (eingebauter Git-Befehl)?

Ich glaube, es gibt keine Möglichkeit, einen Unterschied zu machen, wenn man nur Daten kennt.

Ab heute können Sie Folgendes tun:

git log --since "OCT 4 2011" --until "OCT 11 2011" --pretty=format:"%H"

Und dann git diff zwischen erster und letzter Revision. Wenn die Revisionsliste viel zu lang ist, verwenden Sie die obige git log ... mit | head -1 und | tail -1 um die erste und die letzte Revision zu erhalten.

Beachten Sie, dass das obige Git-Protokoll Revisionen zurückgibt exakt zwischen bestimmten Daten, dh Überarbeitungen für 5. OKT, 6. OKT, …, 10. OKT.

  • Du kannst Sortieren der macht es direkt mit diff, aber nicht so zuverlässig, mit dem @{date} Notation, z. git diff @{date1} @{date2}. Das Problem dabei ist, dass die @{date} Konstrukt schaut nicht auf den Commit-Verlauf, um das Datum in eine Commit-ID zu übersetzen, sondern verwendet stattdessen die Revlog. Das Ergebnis ist, dass, wenn Sie ziehen wirklich oftwird Ihr Revlog so detailliert sein, dass die oben genannten Informationen möglicherweise das tun, was Sie möchten, aber wenn Sie nichtdie Ergebnisse werden ungenau sein …

    – Snogglethorpe

    28. Oktober 2011 um 9:01 Uhr


  • Ich musste Gleichheitszeichen hinzufügen, damit es funktioniert: git log --since="FEB 1 2014" --until="FEB 30 2014"

    – knochigiii

    16. Mai 2014 um 14:46 Uhr

Dies ist möglich, und zwar mit den Benutzer-/Committer-Kriterien:

git log --after="2015-10-14" --before="2015-10-21" --grep="MB[FT][0-9-]*" --author="John\|Mary"

Das passt zu allem

  • zwischen diesen Daten
  • von Autoren, die zu den Namen passen John oder Mary
  • wobei die Commit-Nachricht enthält (z. B. eine Jira-Ticketnummer in Form von) MBT oder MBF plus einen Zahlencode, der a enthalten kann - verkohlen.

  • Dies zeigt das Protokoll an, aber kein Diff.

    – pingu

    7. Juni 2016 um 10:59 Uhr

git log --since "MAY 1 2017" --until "MAY 31 2017" -p --author="Jack" > diffJackMay.patch

1205490cookie-checkWie bekomme ich Unterschiede für den angegebenen Benutzer zwischen zwei Daten von Git?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy