Lista wszystkich programistów projektu Git


206

Czy można wymienić wszystkich użytkowników, którzy przyczynili się do projektu (użytkownicy, którzy dokonali zatwierdzeń) w Git?

Jakieś dodatkowe statystyki?

Odpowiedzi:


387

Aby wyświetlić wszystkich użytkowników i wiadomości e-mail oraz liczbę zatwierdzeń w gałęzi CURRENT:

git shortlog --summary --numbered --email

Lub po prostu:

git shortlog -sne

Aby pokazać użytkowników ze wszystkich gałęzi (nie tylko tych w bieżącej gałęzi), musisz dodać --allflagę:

git shortlog -sne --all

3
Zauważ, że jeśli chcesz użyć tego polecenia z poziomu skryptu lub czegoś takiego jak „mrówka”, musisz podać wersję lub nic nie wyświetla. Do bieżącej wersji możesz użyć HEAD:git shortlog -sn HEAD
Majenko

59
Aby uzyskać również adresy e-mail, dodaj -e.
mic_e

10
Aby pokazać użytkowników ze wszystkich gałęzi (nie tylko obecnych) należy dodać --allflagę
Gian Marco Gherardi

3
co jeśli nie chcę liczby zatwierdzeń?
Wearybands

1
Jest to również świetne do sprawdzania, kto dotknął określonego pliku, a nie całego projektu. git shortlog --summary --numbered <pathToFile>
jxramos

40

Jeśli chcesz być bardziej szczegółowy na liście (znajdź listę unikatowego autora i autora), możesz użyć git log:

git log --pretty="%an %ae%n%cn %ce" | sort | uniq
  • %an imię autora
  • %ae e-mail autora
  • %n Nowa linia
  • %cn nazwa podmiotu zatwierdzającego
  • %ce adres e-mail osoby odpowiedzialnej

Inne symbole zastępcze są opisane w ładnej dokumentacji drukowanejgit log .


Myślę, że %nnie ma to zbyt wielkiego sensu w połączeniu z (liniowym) sort, prawda? Linia rejestruje nazwę autor / committer / e-mail w osobnych liniach, ale w ciągu całego rodzaju wyjścia ...
SSC

E-mail osoby zatwierdzającej @ssc może różnić się od wiadomości e-mail autora. % n jest dla nowej linii, aby znaleźć te różnice
Guillaume Vincent

19

Możesz spróbować:

git log | grep Author: | sort | uniq

1
Jest to najbardziej przydatne polecenie dla wszystkich zainteresowanych aktualizacją pliku .mailmap!
Ahi Tuna

7

(użytkownicy, którzy dokonali zatwierdzeń)

Uwaga: domyślnie git shortloggrupy zatwierdzają autorzy .

Jeśli chcesz pogrupować je według osób odpowiedzialnych, będziesz potrzebować Git 2.12 (Q1 2017)

git shortlog -snc

Zobacz zatwierdzenie 03f4082 (16 grudnia 2016 r.) Autor: Jeff King ( peff) .
Zobacz commit fbfda15 (11 października 2016) autorstwa Linusa Torvaldsa ( torvalds) .
(Połączone przez Junio ​​C Hamano - gitster- in commit ad1b4e2 , 27 grudnia 2016)

Sam Linus Torvalds wprowadza tę funkcję:

shortlog: grupuj według informacji o komisarzu

W niektórych sytuacjach możesz zgrupować zatwierdzenia nie według autora, ale według zatwierdzającego.

Na przykład, gdy chciałem po prostu sprawdzić, co wciąż mi brakuje linux-nextw bieżącym oknie scalania, nie dbam tak bardzo o to, kto napisał łatkę, jak o to git tree, skąd pochodzi, co ogólnie sprowadza się do „kto popełnił to".

Tak więc, aby git shortlog wybrał opcję „ -c” lub „ --committer”, aby przełączyć na nią grupowanie.



1

Sam jeszcze go nie testowałem, ale wygląda to naprawdę ładnie dla statystyk projektu dla repozytorium Git: https://github.com/visionmedia/git-extras

Sprawdź binkatalog, aby zobaczyć różne skrypty.

Na przykład git-countskrypt (liczba zatwierdzeń na osobę odpowiedzialną):

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

1
git shortlog -ns wydaje się mniej
hackerski

@TomDLT, odkąd opublikowałem to 4 lata temu, ten przykładowy skrypt w git-extras się zmienił. Ale myślę, że moja rada, aby przyjrzeć się skryptom git z projektów takich jak git-dodatki lub z plików dot ludzi, jest nadal świetną radą. Jeśli szukasz interesujących poleceń git, poleciłbym również pliki kropkowe
Daniel Lee

1

Świetne odpowiedzi autorstwa @ pedro-nascimento, @mic_e i innych już rozwiązały problem.

Ponadto możesz dodać następujący wiersz do swojego .gitconfig

contributors = shortlog -e --summary --numbered

lub w rodzaju powłoki

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

Następnie możesz po prostu wywołać: git contributors


1
prawdopodobnie powinieneś dodać notatkę, że po ustawieniu tego możesz po prostu zadzwonićgit contributors
lohfu

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.