Alle Entwickler eines Projekts in Git auflisten

Lesezeit: 4 Minuten

Alle Entwickler eines Projekts in Git auflisten
Ritam Nemira

Ist es möglich, alle Benutzer, die zu einem Projekt beigetragen haben (Benutzer, die Commits durchgeführt haben), in Git aufzulisten?

Irgendwelche zusätzlichen Statistiken?

Alle Entwickler eines Projekts in Git auflisten
Pedro Nascimento

So zeigen Sie alle Benutzer und E-Mails sowie die Anzahl der Commits im AKTUELLEN Zweig an:

git shortlog --summary --numbered --email

Oder einfach:

git shortlog -sne

Um Benutzer anzuzeigen von alle Filialen (nicht nur die im aktuellen Zweig) müssen Sie hinzufügen --all Flagge:

git shortlog -sne --all

  • Beachten Sie, dass Sie, wenn Sie diesen Befehl innerhalb eines Skripts oder etwas wie “ant” verwenden möchten, eine Revision angeben müssen, da sonst nichts ausgegeben wird. Für die aktuelle Revision können Sie HEAD verwenden: git shortlog -sn HEAD

    – Majenko

    22. Mai ’14 um 18:03 Uhr

  • Um auch E-Mail-Adressen zu erhalten, fügen Sie hinzu -e.

    – Mäuse

    30. Oktober 14 um 12:47 Uhr

  • Um Benutzer aus allen Branches anzuzeigen (nicht nur die in der aktuellen Branche), müssen Sie hinzufügen --all Flagge

    – Gigan Marco

    6. Juli 15 um 6:58 Uhr

  • Was ist, wenn ich die Anzahl der Commits nicht möchte?

    – Müde Bands

    26. Juli 18 um 11:45 Uhr

  • Dies ist auch großartig, um zu überprüfen, wer eine bestimmte Datei und nicht das gesamte Projekt bearbeitet hat. git shortlog --summary --numbered <pathToFile>

    – jxramos

    4. Februar 19 um 23:02 Uhr

1643914086 155 Alle Entwickler eines Projekts in Git auflisten
Guillaume Vincent

Wenn Sie in der Liste spezifischer sein möchten (finden Sie eine Liste mit eindeutigen Committern und Autoren), können Sie verwenden git log:

git log --pretty="%an %ae%n%cn %ce" | sort | uniq
  • %an Autorenname
  • %ae E-Mail des Autors
  • %n Neue Zeile
  • %cn Committer-Name
  • %ce Committer-E-Mail

Weitere Platzhalter sind in beschrieben hübsche Druckdokumentation von git log.

  • Ich denke der %n macht in Kombination mit (zeilenbasiert) nicht allzu viel Sinn sort, macht es ? Die Zeile protokolliert Autor / Committer-Name / E-Mail in separaten Zeilen, sortiert aber über die gesamte Ausgabe …

    – ssc

    27. Juni 18 um 12:21 Uhr

  • Die E-Mail-Adresse des @ssc-Committers kann sich von der E-Mail-Adresse des Autors unterscheiden. %n ist für eine neue Zeile, um diese Unterschiede zu finden

    – Guillaume Vincent

    27. Juni 18 um 13:52 Uhr

  • Benutzen git log --pretty="%aN <%aE>%n%cN <%cE>" | sort | uniq respektieren a .mailmap Datei

    – MaxNoe

    19. Januar um 14:48 Uhr


Sie können dies versuchen:

git log | grep Author: | sort | uniq

  • Dies ist der nützlichste Befehl für alle, die daran interessiert sind, ihre .mailmap-Datei zu aktualisieren!

    – Ahi Thunfisch

    2. Mai 18 um 17:02 Uhr

  • besonders mit der --use-mailmap Arg

    – Olli

    11. Mai 21 um 4:58 Uhr


(Benutzer, die Commits durchgeführt haben)

Hinweis: standardmäßig git shortlog Gruppen begeht durch Autoren.

Wenn Sie sie nach Committern gruppieren müssen, benötigen Sie Git 2.12 (Q1 2017)

git shortlog -snc

Sehen 03f4082 übernehmen (16. Dezember 2016) von Jeff König (peff).
Sehen fbfda15 begehen (11. Oktober 2016) von Linus Torvalds (torvalds).
(Zusammengeführt von Junio ​​C. Hamano — gitster in ad1b4e2 übergeben27. Dez. 2016)

Linus Torvalds selbst stellt dieses Feature vor:

shortlog: Gruppieren nach Committer-Informationen

In manchen Situationen möchten Sie die Commits vielleicht nicht nach Autor, sondern nach Committer gruppieren.

Zum Beispiel, wenn ich einfach mal nachschauen wollte, was mir noch fehlt linux-next Im aktuellen Merge-Fenster ist es mir weniger wichtig, wer einen Patch geschrieben hat, als was git tree es kam von, was im Allgemeinen darauf hinausläuft, “wer es begangen hat”.

Also lass Git Shortlog ein “-c” oder “--committer” Option, um die Gruppierung darauf umzustellen.

1643914086 620 Alle Entwickler eines Projekts in Git auflisten
ΦXocę 웃 Пepeúpa ツ

Eine weitere Option kann sein:

git log --format="%aN" | sort -u

Großartige Antworten von @pedro-nascimento, von @mic_e und anderen lösen das Problem bereits.

Zusätzlich können Sie die folgende Zeile zu Ihrer hinzufügen .gitconfig

contributors = shortlog -e --summary --numbered

oder im Schalentyp

git config --global alias.contributors 'shortlog -e --summary --numbered'

Und danach können Sie einfach aufrufen: git contributors

1643914087 678 Alle Entwickler eines Projekts in Git auflisten
Peter Mortensen

Ich bin noch nicht dazu gekommen, es selbst zu testen, aber das sieht für Projektstatistiken für ein Git-Repository sehr gut aus: https://github.com/visionmedia/git-extras

Besuche die bin Katalog, um die verschiedenen Skripte zu sehen.

Zum Beispiel die git-count Skript (Commit-Anzahl pro Committer):

git shortlog -n $@ | grep "):" | sed 's|:||'

  • git shortlog -ns scheint weniger hackig zu sein

    – TomDLT

    20. Oktober 16 um 8:47 Uhr

  • @TomDLT Seit ich dies vor 4 Jahren gepostet habe, hat sich dieses Beispielskript in Git-Extras geändert. Aber ich denke, mein Rat, sich Git-Skripte aus Projekten wie Git-Extras oder aus den Dotfiles der Leute anzusehen, ist immer noch ein guter Rat. Wenn Sie nach interessanten Git-Befehlen suchen, würde ich auch die Dotfiles von Gary Bernhardt empfehlen: github.com/garybernhardt/dotfiles/tree/master/bin

    – Daniel Lee

    20. Oktober 16 um 8:54 Uhr


.

758840cookie-checkAlle Entwickler eines Projekts in Git auflisten

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

Privacy policy