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?
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:
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
-e.
--allflagę
git shortlog --summary --numbered <pathToFile>
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 odpowiedzialnejInne symbole zastępcze są opisane w ładnej dokumentacji drukowanejgit log .
%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 ...
Możesz spróbować:
git log | grep Author: | sort | uniq
(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 komisarzuW 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 togit 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.
Inną opcją może być:
git log --format='%aN' | sort -u
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|:||'
Ś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
git contributors
Możesz wypróbować niesamowitą paczkę zwaną git-dodatkami . W szczególności polecenia git-summary , git-count i może jakieś inne .
git shortlog -sn HEAD