Bei der Verwendung git log
, wie kann ich durch den Benutzer filtern , so dass ich nur von diesem Nutzer verpflichtet sehen?
git
version-control
git-log
Markdorison
quelle
quelle
github
?Antworten:
Dies funktioniert für beide
git log
undgitk
- die zwei am häufigsten verwendeten Möglichkeiten der Geschichte sehen.Sie müssen nicht den ganzen Namen verwenden:
wird einem Commit von "Jonathan Smith" entsprechen
und
würde auch funktionieren. Die Anführungszeichen sind optional, wenn Sie keine Leerzeichen benötigen.
Fügen
--all
Sie hinzu, wenn Sie alle Zweige durchsuchen möchten und nicht nur die Vorfahren des aktuellen Commits in Ihrem Repo.Sie können auch problemlos mehrere Autoren abgleichen, da Regex der zugrunde liegende Mechanismus für diesen Filter ist. Um Commits von Jonathan oder Adam aufzulisten, können Sie Folgendes tun:
Um Commits eines bestimmten Autors oder einer Gruppe von Autoren mit regulären Ausdrücken auszuschließen, wie in dieser Frage angegeben , können Sie in Kombination mit dem Schalter einen negativen Lookahead verwenden
--perl-regexp
:Alternativ können Sie von Adam erstellte Commits mit
bash
und piping ausschließen:Wenn Sie von Adam festgeschriebene (aber nicht unbedingt verfasste) Commits ausschließen möchten, ersetzen Sie diese
%an
durch%cn
. Weitere Details dazu finden Sie in meinem Blog-Beitrag hier: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/quelle
gitk
, die Commits der Eltern von anderen Autoren wegzulassen? (Sie werden mit weißen Kreisen angezeigt.) Im Gegensatz dazu werdengit log --graph
die übergeordneten Commits nicht angezeigt. Es werden nur die Commits des angegebenen Autors angezeigt. Ich würde gerne die gleiche Ausgabe in sehengitk
. (Bereits überprüfte Einstellungen und Ansicht bearbeiten - konnte nichts Nützliches finden.)quelle
Auf Github gibt es auch einen geheimen Weg ...
Sie können Commits nach Autor in der Commit-Ansicht filtern, indem Sie param anhängen
?author=github_handle
. Der Link https://github.com/dynjs/dynjs/commits/master?author=jingweno zeigt beispielsweise eine Liste der Commits für das Dynjs-Projektquelle
gibt dir die manpage von git log. Suchen Sie dort nach "author", indem Sie / drücken und dann "author" eingeben, gefolgt von Enter. Geben Sie einige Male "n" ein, um zum entsprechenden Abschnitt zu gelangen, der Folgendes anzeigt:
wie schon vorgeschlagen.
Beachten Sie, dass Sie dadurch den Autor der Commits erhalten. In Git kann der Autor jedoch eine andere Person als der Committer sein (z. B. im Linux-Kernel, wenn Sie einen Patch als normaler Benutzer einreichen, wird er möglicherweise von einem anderen Administratorbenutzer festgeschrieben .) Siehe Unterschied zwischen Autor und Committer in Git? für mehr Details)
Meistens ist das, was man als Benutzer bezeichnet, sowohl der Committer als auch der Autor.
quelle
Weitere Details abrufen - (Hier wird
%an
auf den Autor verwiesen)Benutze das :-
quelle
%ae
anstelle von%an
(das den Namen gab) verwendet--author
sucht tatsächlich nach dem Namen des Autors und nicht nach dem Namen des Committers. Ich würde"username"
zum Autor wechselnDies gibt Ihre Commits im Textformat.
quelle
cat |
?Wenn Sie Ihre eigenen Commits filtern möchten:
quelle
Sie können dies sogar ein wenig abkürzen, indem Sie einfach einen Teil des Benutzernamens verwenden:
quelle
Probieren Sie dieses Tool https://github.com/kamranahmedse/git-standup aus
Verwendungszweck
Unten finden Sie die Beschreibung für jedes der Flags
quelle
Da die andere Frage (möglicherweise zu Unrecht?) Gesperrt war, werde ich dies hier einfügen:
Autoren mit ihren Commit-Zählungen anzeigen:
Hier finden Sie alle Commits für einen bestimmten USERNAME:
quelle
Zeigen Sie n Anzahl der Protokolle für x Benutzer in Farbe an, indem Sie dieses kleine Snippet in Ihre .bashrc-Datei einfügen.
Um die letzten 10 Commits von Frank zu zeigen:
l 10 frank
So zeigen Sie die letzten 20 Commits an:
l 20
quelle
Bei Verwendung von GitHub:
Die Liste wird im folgenden Format angezeigt
quelle
Sie können entweder = oder "Leerzeichen" verwenden. Zum Beispiel geben die folgenden zwei Befehle dasselbe zurück
quelle
Mein Fall: Ich verwende den Quellbaum und habe die folgenden Schritte ausgeführt:
CRL+3
quelle
Es gibt jedoch viele nützliche Antworten. Nur um einen anderen Weg hinzuzufügen. Sie können auch verwenden
Die Ausgabe wird gruppiert angezeigt:
Hier werden insgesamt 5 Commits von
<Author Name>
unter dem aktuellen Zweig ausgeführt. Sie können--all
die Suche auch überall (in allen Zweigen) des Git-Repositorys erzwingen .Ein Haken: git versucht intern, eine Eingabe
<author name>
mit dem Namen und der E-Mail-Adresse des Autors in der git-Datenbank abzugleichen. Es wird zwischen Groß- und Kleinschreibung unterschieden .quelle