Lors de l'utilisation git log
, comment puis-je filtrer par utilisateur afin de ne voir que les validations de cet utilisateur?
git
version-control
git-log
markdorison
la source
la source
github
?Réponses:
Cela fonctionne pour les deux
git log
etgitk
- les 2 façons les plus courantes de visualiser l'historique.Vous n'avez pas besoin d'utiliser le nom complet:
correspondra à un commit de "Jonathan Smith"
et
fonctionnerait également. Les guillemets sont facultatifs si vous n'avez besoin d'aucun espace.
Ajoutez
--all
si vous avez l'intention de rechercher toutes les branches et pas seulement les ancêtres du commit actuel dans votre référentiel.Vous pouvez également facilement faire correspondre plusieurs auteurs, car l'expression régulière est le mécanisme sous-jacent de ce filtre. Donc, pour lister les commits de Jonathan ou Adam, vous pouvez faire ceci:
Afin d'exclure les validations d'un auteur ou d'un ensemble d'auteurs particulier à l'aide d'expressions régulières comme indiqué dans cette question , vous pouvez utiliser une anticipation négative en combinaison avec le
--perl-regexp
commutateur:Vous pouvez également exclure les validations créées par Adam en utilisant
bash
et en canalisant:Si vous souhaitez exclure les validations validées (mais pas nécessairement créées) par Adam, remplacez
%an
par%cn
. Plus de détails à ce sujet sont dans mon article de blog ici: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/la source
gitk
abstraction des engagements des parents d'autres auteurs? (Ils sont représentés avec des cercles blancs.) En revanche,git log --graph
ne montre pas les validations des parents; il montre seulement les commits de l'auteur donné. J'aimerais voir la même sortie engitk
. (Préférences et vue d'édition déjà vérifiées - rien trouvé d'utile.)la source
Sur github il y a aussi une voie secrète ...
Vous pouvez filtrer les validations par auteur dans la vue de validation en ajoutant param
?author=github_handle
. Par exemple, le lien https://github.com/dynjs/dynjs/commits/master?author=jingweno affiche une liste des validations du projet Dynjsla source
vous donne la page de manuel de git log. Recherchez «auteur» à cet endroit en appuyant sur / puis en tapant «auteur», puis sur Entrée. Tapez "n" plusieurs fois pour accéder à la section appropriée, qui révèle:
comme déjà suggéré.
Notez que cela vous donnera l'auteur des commits, mais dans Git, l'auteur peut être quelqu'un de différent du committer (par exemple dans le noyau Linux, si vous soumettez un patch en tant qu'utilisateur ordinaire, il peut être validé par un autre utilisateur administratif .) Voir Différence entre auteur et committer dans Git? pour plus de détails)
La plupart du temps, ce que l'on appelle l'utilisateur est à la fois l'auteur et l'auteur.
la source
Pour tirer plus de détails - (ici se
%an
réfère à l'auteur)Utilisez ceci :-
la source
%ae
au lieu de%an
(qui a donné le nom.)--author
recherche en fait par le nom de l'auteur et non par le nom du committer. Je changerais"username"
d'auteurCela donne vos commits au format texte.
la source
cat |
?Si vous souhaitez filtrer vos propres validations:
la source
Vous pouvez même abréger cela un peu en utilisant simplement une partie du nom d'utilisateur:
la source
essayez cet outil https://github.com/kamranahmedse/git-standup
Usage
Voici la description de chacun des drapeaux
la source
Étant donné que l'autre question a été (peut-être à tort?) Verrouillée, je vais simplement la mettre ici:
montrer aux auteurs leur nombre de validations:
trouver tous les commits pour USERNAME spécifique:
la source
Affichez un nombre n de journaux pour x utilisateur en couleur en ajoutant ce petit extrait dans votre fichier .bashrc.
Pour afficher les 10 derniers commits de Frank:
l 10 frank
Pour afficher les 20 derniers commits de n'importe qui:
l 20
la source
Si vous utilisez GitHub:
il affichera la liste dans le format ci-dessous
la source
Vous pouvez utiliser soit = soit "espace". Par exemple, le fait de suivre deux commandes renvoie le même
la source
Mon cas: j'utilise l'arbre source, j'ai suivi les étapes suivantes:
CRL+3
la source
Cependant, il existe de nombreuses réponses utiles. Alors, juste pour y ajouter une autre façon. Vous pouvez aussi utiliser
Il affichera la sortie de la manière groupée:
Ici, 5 commits au total sont effectués par
<Author Name>
la branche actuelle. Considérant que, vous pouvez également utiliser--all
pour appliquer la recherche partout (toutes les branches) dans le référentiel git.Un hic: git essaie en interne de faire correspondre une entrée
<author name>
avec le nom et l'e-mail de l'auteur dans la base de données git. Il est sensible à la casse .la source