tag - que es git log
Su sucursal está delante de ''origen/maestro'' por X confirmaciones. ¿Cómo encontrar los X cometidos? (5)
Esta pregunta ya tiene una respuesta aquí:
- Viendo Git Commits Unpushed 24 respuestas
Estaba comprobando las X confirmaciones usando el siguiente comando:
git log --author=<my-name> -<X>
Pero el problema es que accidentalmente extraje código de otro repositorio y agregué las confirmaciones del repositorio a mi repositorio de git local.
Por lo tanto, no puedo usar el comando anterior ya que los nuevos compromisos contienen algunos otros autores.
El comando
git log origin/master..master
muestra las confirmaciones que están en el master
pero no en el origin/master
.
Esta pregunta ya ha sido respondida en otro post:
git log origin/master..HEAD
Hice un alias para este comando que enumera las confirmaciones que no se han enviado.
git log --branches --no --remotes --decorate --oneline
que es una variación de un comando cxreg publicado en Visualización de confirmaciones de Git sin apilar .
Muchas otras formas útiles para analizar el árbol de confirmación en esa publicación también.
La notación treeish..treeish
funciona exactamente para ver las confirmaciones que están presentes en la segunda referencia, pero no en la primera. Desde la ayuda del registro git:
Un D..M regular calcula el conjunto de confirmaciones que son ancestros de M, pero excluye aquellos que son ancestros de D. Esto es útil para ver qué pasó con la historia que lleva a M desde D, en el sentido de que "qué hace M tengo que no existiera en D ".
Usando esto con git log
o git show
, puede generar una lista que contenga una sola línea para cada pressent de confirmación en la diferencia D..M
:
git show -s --oneline branch..HEAD
o
git log --oneline branch..HEAD
Combine eso con un recuento de palabras y podrá obtener exactamente el número de confirmaciones que está buscando:
git log --oneline branch..HEAD | wc -l
Yo uso esto:
git log --graph --pretty=format:''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'' --abbrev-commit --date=relative
Muestra los compromisos como una gráfica, con todas las ramas y sus nombres.
Mi consejo es crear un alias para él en ~ / .gitconfig