web-dev-qa-db-de.com

Anzeigen des Git-Protokolls ohne Merge-Commits

Ich versuche, die von einem bestimmten Benutzer getätigten Commits anzuzeigen und alle vom Benutzer vorgenommenen Zusammenführungen aus der Ausgabe zu entfernen. Wie kann ich das machen?

Ich kann mit git log --author=<name> Nach den Commits eines Benutzers suchen, aber die Merge-Commits in der Ausgabe nicht entfernen.

PS: Zusammenführungskonflikte treten im Workflow des betreffenden Repos nicht auf. Alle Zweige werden vor dem Zusammenführen in den Master neu basiert, sodass es sicher ist, die Zusammenführungs-Commits aus der Ausgabe zu entfernen, und in ähnlicher Weise werden zwei Feature-Zweige nicht miteinander zusammengeführt die möglichkeit.

52
mu 無

verwenden

git log --author=<name> --no-merges

Zusätzlich die --first-parent Option kann nützliche Ergebnisse für Sie liefern:

--first-parent Folgen Sie nur dem ersten übergeordneten Commit, wenn ein Merge-Commit angezeigt wird. Diese Option bietet einen besseren Überblick über die Entwicklung eines bestimmten Zweigthemas, da bei Zusammenführungen in einen Zweigzweig von Zeit zu Zeit nur eine Anpassung an den Upstream vorgenommen wird. Mit dieser Option können Sie die einzelnen eingebrachten Commits ignorieren Ihre Geschichte durch eine solche Verschmelzung. Kann nicht mit --bisect kombiniert werden.

81
0xAX

Sie können Zusammenführungen mit --no-merges Weglassen:

git log --no-merges --author=<name>

Weitere Informationen finden Sie auf der Hilfeseite Git-Protokoll .

16
morxa