repositorio - git remove tag
¿Cómo puedo ver un registro de git de solo un usuario? (13)
Como la otra pregunta estaba (¿posiblemente equivocada?) Bloqueada, solo pondré esto aquí:
Mostrar autores con sus cuentas de compromiso:
git shortlog -nse
encontrar todos los compromisos para nombre de usuario específico:
git log --author=USERNAME --oneline | awk ''{print $1}'' | xargs git show
Cuando git log
, ¿cómo puedo filtrar por usuario para que solo vea las confirmaciones de ese usuario?
En github también hay un camino secreto ...
Puede filtrar las confirmaciones por autor en la vista de confirmación agregando param ?author=github_handle
. Por ejemplo, el enlace https://github.com/dynjs/dynjs/commits/master?author=jingweno muestra una lista de confirmaciones para el proyecto Dynjs
Esto funciona tanto para git log
como para gitk
, las 2 formas más comunes de ver el historial. No necesitas usar el nombre completo.
git log --author="Jon"
coincidirá con un compromiso hecho por "Jonathan Smith"
git log --author=Jon
y
git log --author=Smith
También funcionaría. Las citas son opcionales si no necesita ningún espacio.
Agregue --all
si desea buscar en todas las ramas y no solo los antepasados de la confirmación actual en su repositorio.
También puede hacer coincidir fácilmente en varios autores, ya que regex es el mecanismo subyacente para este filtro. Así que para enumerar los compromisos de Jonathan o Adam, puedes hacer esto:
git log --author="/(Adam/)/|/(Jon/)"
Para excluir las confirmaciones de un autor en particular o un conjunto de autores que usan expresiones regulares, como se indica en esta pregunta , puede usar un lookahead negativo en combinación con el interruptor --perl-regexp
:
git log --author=''^(?!Adam|Jon).*$'' --perl-regexp
Alternativamente, puede excluir los compromisos creados por Adam utilizando bash
y tuberías:
git log --format=''%H %an'' |
grep -v Adam |
cut -d '' '' -f1 |
xargs -n1 git log -1
Si desea excluir los compromisos comprometidos (pero no necesariamente creados) por Adam, reemplace %an
con %cn
. Más detalles sobre esto están en la publicación de mi blog aquí: http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/
Incluso puede abreviar esto un poco simplemente usando parte del nombre de usuario:
git log --author=mr #if you''re looking for mrfoobar''s commits
Muestra n número de registros para x usuarios en color agregando este pequeño fragmento en tu archivo .bashrc.
gitlog() {
if [ "$1" ] && [ "$2" ]; then
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1" --author="$2"
elif [ "$1" ]; then
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order -n "$1"
else
git log --pretty=format:"%h%x09 %C(cyan)%an%x09 %Creset%ad%x09 %Cgreen%s" --date-order
fi
}
alias l=gitlog
Para mostrar los últimos 10 cometidos por Frank:
l 10 frank
Para mostrar los últimos 20 cometidos por cualquiera:
l 20
Para obtener más detalles - (Aquí %an
refiere al autor)
Utilizar esta :-
git log --author="username" --pretty=format:"%h - %an, %ar : %s"
Pruebe esta herramienta https://github.com/kamranahmedse/git-standup
Uso
```bash
$ git standup [-a <author name>]
[-w <weekstart-weekend>]
[-m <max-dir-depth>]
[-f]
[-L]
[-d <days-ago>]
[-D <date-format>]
[-g]
[-h]
```
A continuación se muestra la descripción de cada una de las banderas.
- `-a` - Specify author to restrict search to (name or email)
- `-w` - Specify weekday range to limit search to (e.g. `git standup -w SUN-THU`)
- `-m` - Specify the depth of recursive directory search
- `-L` - Toggle inclusion of symbolic links in recursive directory search
- `-d` - Specify the number of days back to include
- `-D` - Specify the date format for "git log" (default: relative)
- `-h` - Display the help screen
- `-g` - Show if commit is GPG signed or not
- `-f` - Fetch the latest commits beforehand
Puedes usar = o "espacio". Por ejemplo, los siguientes dos comandos devuelven el mismo
git log --author="Developer1"
git log --author "Developer1"
Si está utilizando GitHub:
- ir a la rama
- haga clic en cometer
Mostrará la lista en el siguiente formato.
branch_x: < comment>
author_name committed 2 days ago
- ver el compromiso individual del autor; Haga clic en author_name y allí podrá ver todos los comentarios de ese autor en esa rama.
Si quieres filtrar tus propios compromisos:
git log --author="<$(git config user.email)>"
cat | git log --author="authorName" > author_commits_details.txt
Esto le da su confirmación en formato de texto.
git help log
te da la página de manual de git log. Busque "autor" allí presionando / y luego escribiendo "autor", seguido de Entrar. Escriba "n" unas cuantas veces para llegar a la sección correspondiente, que revela:
git log --author="username"
como ya se sugirió.
Tenga en cuenta que esto le dará el autor de las confirmaciones, pero en Git, el autor puede ser una persona diferente a la persona que lo envía (por ejemplo, en el kernel de Linux, si envía un parche como usuario normal, otro usuario administrativo lo puede confirmar). .) Ver diferencia entre autor y comitista en Git? para más detalles)
Sin embargo, la mayoría de las veces, a lo que uno se refiere como usuario es tanto el autor como el autor.
git log --author="that user"