¿Hay alguna manera de que pueda realizar un seguimiento de los comandos que usé en Git en Windows? Quiero ver todos los comandos que he aplicado en mi repositorio.
Quiero poder volver a través del historial de comandos y averiguar el comando que causó el problema si se produjo.
Ver el historial de confirmaciones sería una cosa, pero para mantener un historial de otras acciones, como crear una rama o agregar un control remoto, ¿se realiza un seguimiento de estas?
.git/logs
, verás el historial de lo que apuntaba cada rama.push
ing no cambia el estado de una sucursal local,reflog
aparentemente no almacenapush
es, por lo que buscar.git/logs/refs/remotes/*/*
es la única forma de ver supush
historial.Respuestas:
git mostrará cambios en las confirmaciones que afectan al índice, como
git rm
. No almacena un registro de todos los comandos de git que ejecuta.Sin embargo, una gran cantidad de comandos de git afectan el índice de alguna manera, como la creación de una nueva rama. Estos cambios aparecerán en el historial de confirmaciones, que puede ver con
git log
.Sin embargo, hay cambios destructivos que git no puede rastrear, como
git reset
.Entonces, para responder a su pregunta, git no almacena un historial absoluto de los
git
comandos que ha ejecutado en un repositorio. Sin embargo, a menudo es posible interpolar qué comando ha ejecutado a través del historial de confirmaciones.fuente
git history
sería útil para, por ejemplo, ver qué comandos se han ejecutado en un clon en particular .git reflog
es lo que quieres. Vea la respuesta a continuación.git reflog
realmente muestra los comandos en sí. Además, por cierto, el shell es solo una forma ligeramente más directa de inferir los comandos de git, pero un repositorio de git puede ser tocado por varios shells. Es mejor preguntarle a git qué comandos se usaron.Puedes ver el historial con git-reflog ( ejemplo aquí ):
fuente
git reflog
mostraría todas las posiciones que estaba siguiendo su HEAD, en realidad no mostrará todos los comandos de git. Los comandos de Git que no mueven la cabeza (por ejemplogit branch -D my_precious_branch
) no aparecerían allí.git reflog --all
?git remote add foo bar
. no aparecerá engit reflog --all
, ya que no modifica el puntero HEAD.git reflog
no me muestra comandos comogit status
aso., con o sin--all
parámetro.Un registro de sus comandos puede estar disponible en su historial de shell.
Si ver la lista de comandos ejecutados volando no es para usted, exporte la lista a un archivo.
Puede restringir el volcado exportado para mostrar solo comandos con "git" en ellos mediante la canalización con grep
El historial puede contener líneas formateadas como tales
Usando el número puede volver a ejecutar el comando con un signo de exclamación
fuente
Si está utilizando CentOS u otra versión de Linux, simplemente haga
Ctrl
+R
en el indicador y escribagit
.Si sigues presionando
Ctrl
+,R
esto hará una búsqueda inversa en tu historial de comandos que comienzan congit
fuente
Escriba
history
su terminal. Técnicamente no es git, pero creo que es lo que quieres.fuente
Si usa Windows PowerShell, puede escribir "git" y presionar F8. Continúe presionando F8 para recorrer todos sus comandos de git.
O, si usa cygwin, podría hacer lo mismo con ^ R.
fuente
Descubrí que en mi versión de git bash "2.24.0.windows.2" en mi carpeta "home" debajo de los usuarios de Windows, habrá un archivo llamado ".bash-history" sin extensión de archivo en esa carpeta. Solo se crea después de salir de bash.
Aquí está mi flujo de trabajo:
Si realmente quieres puntos, supongo que podrías hacer un archivo por lotes para hacer todo esto, pero esto es lo suficientemente bueno para mí. Espero que ayude a alguien.
fuente