W git log
jaki sposób mogę filtrować według użytkownika, aby wyświetlać tylko zatwierdzenia od tego użytkownika?
git
version-control
git-log
markdorison
źródło
źródło
github
?Odpowiedzi:
Działa to zarówno dla - jak
git log
igitk
2 najczęstszych sposobów przeglądania historii.Nie musisz używać całej nazwy:
będzie pasować do zatwierdzenia dokonanego przez „Jonathana Smitha”
i
też by działał. Cytaty są opcjonalne, jeśli nie potrzebujesz spacji.
Dodaj,
--all
jeśli zamierzasz przeszukać wszystkie gałęzie, a nie tylko przodków bieżącego zatwierdzenia w repozytorium.Możesz także łatwo dopasować wielu autorów, ponieważ wyrażenie regularne jest podstawowym mechanizmem tego filtra. Aby wyświetlić listę zatwierdzeń Jonathana lub Adama, możesz to zrobić:
Aby wykluczyć zatwierdzenia określonego autora lub zbioru autorów używających wyrażeń regularnych, jak wspomniano w tym pytaniu , możesz użyć negatywnego efektu w połączeniu z
--perl-regexp
przełącznikiem:Alternatywnie możesz wykluczyć zatwierdzenia autorstwa Adama, używając
bash
i potokując:Jeśli chcesz wykluczyć zobowiązuje zaangażowani (ale niekoniecznie autorami), których autorem jest Adam, wymienić
%an
z%cn
. Więcej informacji na ten temat znajduje się w moim blogu tutaj: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/źródło
gitk
pominąć zobowiązania rodziców od innych autorów? (Są pokazane z białymi kółkami.) Natomiastgit log --graph
nie pokazuje, że rodzic zatwierdza; pokazuje tylko zobowiązania autora. Chciałbym zobaczyć ten sam wynik wgitk
. (Już sprawdziłem Preferencje i Edytuj widok - nic nie znalazłem.)źródło
Na github istnieje również sekretny sposób ...
Możesz filtrować zatwierdzenia według autora w widoku zatwierdzenia, dołączając parametr
?author=github_handle
. Na przykład link https://github.com/dynjs/dynjs/commits/master?author=jingweno pokazuje listę zatwierdzeń do projektu Dynjsźródło
daje ci stronę podręcznika git log. Wyszukaj „autora”, naciskając /, a następnie wpisując „autor”, a następnie Enter. Wpisz kilka razy „n”, aby przejść do odpowiedniej sekcji, która pokazuje:
jak już sugerowano.
Zauważ, że da ci to autora zatwierdzeń, ale w Git autorem może być ktoś inny niż osoba zatwierdzająca (na przykład w jądrze Linuksa, jeśli prześlesz łatkę jako zwykły użytkownik, może zostać popełniony przez innego użytkownika administracyjnego .) Zobacz Różnica między autorem a autorem w Git? po więcej szczegółów)
Przez większość czasu to, co określa się mianem użytkownika, jest zarówno autor, jak i autor.
źródło
Aby wyciągnąć więcej szczegółów - (tutaj
%an
odnosi się do autora)Użyj tego :-
źródło
%ae
zamiast%an
(który dał nazwę.)--author
faktycznie wyszukuje według nazwiska autora, a nie nazwiska osoby odpowiedzialnej. Chciałbym zmienić"username"
autorowiDaje to twoje zobowiązania w formacie tekstowym.
źródło
cat |
?Jeśli chcesz filtrować własne zatwierdzenia:
źródło
Możesz nawet to trochę skrócić, po prostu używając części nazwy użytkownika:
źródło
wypróbuj to narzędzie https://github.com/kamranahmedse/git-standup
Stosowanie
Poniżej znajduje się opis każdej flagi
źródło
Ponieważ drugie pytanie było (być może niesłusznie tak?) Zablokowane, po prostu umieszczę to tutaj:
pokaż autorom ich liczbę zatwierdzeń:
znajdź wszystkie zatwierdzenia dla określonej USERNAME:
źródło
Pokaż n dzienników dla x użytkownika w kolorze, dodając ten mały fragment w pliku .bashrc.
Aby wyświetlić 10 ostatnich zatwierdzeń Franka:
l 10 frank
Aby wyświetlić 20 ostatnich zatwierdzeń przez kogokolwiek:
l 20
źródło
Jeśli używasz GitHub:
wyświetli listę w poniższym formacie
źródło
Możesz użyć = lub „spacja”. Na przykład następujące dwa polecenia zwracają to samo
źródło
Mój przypadek: korzystam z drzewa źródłowego, wykonałem następujące kroki:
CRL+3
źródło
Chociaż istnieje wiele przydatnych odpowiedzi. Natomiast po prostu dodać do tego inny sposób. Możesz także użyć
Wyświetli wynik w zgrupowany sposób:
Tutaj
<Author Name>
w ramach bieżącego oddziału wykonywanych jest łącznie 5 zatwierdzeń . Możesz także użyć--all
do wymuszenia wyszukiwania wszędzie (wszystkie gałęzie) w repozytorium git.Jeden haczyk: git wewnętrznie próbuje dopasować dane wejściowe
<author name>
do nazwiska i adresu e-mail autora w bazie danych git. To jest wielkość liter .źródło