2012-05-07 26 views
23

Estoy usando Git para Windows (ver 1.7.8-preview20111206) y aunque tengo un archivo .bash_history en mi carpeta HOME, nunca se actualiza automáticamente . Cuando inicio Git Bash, puedo ver en los comandos de historial que agregué manualmente al archivo .bash_history, pero no se actualiza automáticamente..bash_history no se actualiza en Git para Windows (git bash)

Utilicé el comando shopt -s histappend para asegurarme de que el historial se guarda cada vez que cierro el shell, pero no funciona.

Si uso manualmente el comando history -w, entonces mi archivo se actualiza, pero me gustaría entender por qué el comando shopt no funciona como debería.

Cualquiera me puede decir por qué está sucediendo este comportamiento?

Gracias de antemano

+0

¿Cuáles son los valores de '$ HISTSIZE',' $ HISTFILESIZE' y '$ HISTFILE'? –

+0

$ HISTSIZE es 10000, $ HISTFILESIZE es 10000 y $ HISTFILE es /h/.bash_history. – franmon

Respuesta

30

pongo esto en mi ~/.bash_profile

PROMPT_COMMAND='history -a' 
+2

Esto funcionó para mí en Win 7 de 64 bits. Se estaba arrancando los pelos por un tiempo, ya que no funcionaría, luego me di cuenta de que había creado con terminaciones de líneas de Windows, que se rompe. Si tiene problemas, vuelva a verificar que ha guardado con terminaciones de línea Unix usando un editor que admita esto, no p. Ej. ¡Bloc! – psdie

+0

Siempre puede usar 'vim' incluso en la línea de comando de Git-Bash – Highmastdon

+0

También puede usar dos2unix para convertir las terminaciones de línea. – Chance

4

Si utiliza fiesta Git para Windows 8, sólo hay que poner esto en su archivo ~/.bash_logout:

history > .bash_history 

Obviamente necesita un archivo ~/.bash_history.

Atentamente.

+0

Windows 8.1 y GNU bash, versión 3.1.0 (1) -lanzamiento (i686-pc-msys) - ¡funciona! – abrasadera

+2

Por alguna razón, esto no funciona para mí. Win7 x64. –

+2

@CamiloMartin - mira mi comentario anterior sobre asegurarte de que has usado terminaciones de línea Unix (utilicé .bash_profile). – psdie

18

Como se dijo here, para guardar el historial de git bash en Windows, no debe cerrar el terminal con el botón X. Use el comando exit en su lugar. El historial de comandos se guardará, independientemente de la configuración mencionada en la respuesta aceptada.

+1

que es bueno saber, pero voy a tener un momento difícil para recordar eso. – Chance

+0

@Chance afortunadamente ya no tiene que recordar esto, porque en las versiones más nuevas de Git para Windows esto no es verdad. Probado con la versión 2.9.3 en win7 y win10. – Superole

+1

@Superole no es cierto en mi máquina. Tengo git 2.12.2 para Windows 8.1 (el más nuevo para 04/17), y la única manera de guardar el historial que conozco es escribir "salir" antes de hacer clic en el botón x – Sebastian

Cuestiones relacionadas