Cuando lo uso git log
, ¿cómo puedo filtrar por usuario para ver solo las confirmaciones de ese usuario?
git
version-control
git-log
Markdorison
fuente
fuente
github
?Respuestas:
Esto funciona para ambos
git log
ygitk
- las 2 formas más comunes de ver el historial.No necesita usar el nombre completo:
coincidirá con un compromiso realizado por "Jonathan Smith"
y
También funcionaría. Las comillas son opcionales si no necesita espacios.
Agregue
--all
si tiene la intención de buscar todas las ramas y no solo los antepasados del commit actual en su repositorio.También puede coincidir fácilmente en varios autores, ya que la expresión regular es el mecanismo subyacente para este filtro. Entonces, para enumerar las confirmaciones de Jonathan o Adam, puede hacer esto:
Para excluir las confirmaciones de un autor en particular o un conjunto de autores que usan expresiones regulares como se señala en esta pregunta , puede usar una búsqueda anticipada negativa en combinación con el
--perl-regexp
interruptor:Alternativamente, puede excluir confirmaciones creadas por Adam usando
bash
y canalizando:Si desea excluir los compromisos cometidos (pero no necesariamente creados) por Adam, reemplace
%an
con%cn
. Más detalles sobre esto están en mi blog aquí: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/fuente
gitk
dejar de lado los compromisos de los padres de otros autores? (Se muestran con círculos blancos). En contraste,git log --graph
no muestra los compromisos del padre; solo muestra los compromisos del autor dado. Me encantaría ver la misma salida engitk
. (Ya verifiqué Preferencias y Vista de edición, no pude encontrar nada útil)fuente
En github también hay un camino secreto ...
Puede filtrar confirmaciones por autor en la vista de confirmación agregando parámetros
?author=github_handle
. Por ejemplo, el enlace https://github.com/dynjs/dynjs/commits/master?author=jingweno muestra una lista de confirmaciones para el proyecto Dynjsfuente
le da la página de manual de git log. Busque "author" allí presionando / y luego escribiendo "author", seguido de Enter. Escriba "n" varias veces para llegar a la sección correspondiente, que revela:
como ya se sugirió.
Tenga en cuenta que esto le dará el autor de los commits, pero en Git, el autor puede ser alguien diferente del committer (por ejemplo, en el kernel de Linux, si envía un parche como usuario ordinario, podría ser cometido por otro usuario administrativo .) ¿Ves la diferencia entre autor y committer en Git? para más detalles)
Sin embargo, la mayoría de las veces, a lo que uno se refiere como el usuario es tanto el que confirma como el autor.
fuente
Para obtener más detalles - (Aquí se
%an
refiere al autor)Utilizar este :-
fuente
%ae
lugar de%an
(que dio nombre)--author
en realidad busca por el nombre del autor y no por el nombre del confirmador. Me gustaría cambiar"username"
a autorEsto le da a sus confirmaciones en formato de texto.
fuente
cat |
?Si quieres filtrar tus propios commits:
fuente
Incluso puede abreviar esto un poco simplemente usando parte del nombre de usuario:
fuente
prueba esta herramienta https://github.com/kamranahmedse/git-standup
Uso
A continuación se muestra la descripción de cada una de las banderas.
fuente
Dado que la otra pregunta fue bloqueada (¿posiblemente erróneamente?), Simplemente pondré esto aquí:
mostrar autores con sus recuentos de compromiso:
encuentre todos los commits para USERNAME específico:
fuente
Muestre un número n de registros para x usuarios en color agregando este pequeño fragmento en su archivo .bashrc.
Para mostrar los últimos 10 commits de Frank:
l 10 frank
Para mostrar los últimos 20 compromisos de cualquier persona:
l 20
fuente
Si usa GitHub:
mostrará la lista en el siguiente formato
fuente
Puede usar ya sea = o "espacio". Por ejemplo, seguir dos comandos devuelve lo mismo
fuente
Mi caso: estoy usando el árbol de origen, seguí los siguientes pasos:
CRL+3
fuente
Aunque, hay muchas respuestas útiles. Mientras que, solo para agregar otra forma de hacerlo. También puedes usar
Mostrará la salida de la manera agrupada:
Aquí, se realizan un total de 5 confirmaciones por
<Author Name>
debajo de la rama actual. Mientras que, también puede usar--all
para forzar la búsqueda en todas partes (todas las ramas) en el repositorio de git.Una trampa: git trata internamente de hacer coincidir una entrada
<author name>
con el nombre y el correo electrónico del autor en la base de datos de git. Es sensible a mayúsculas y minúsculas .fuente