"Git Bash here" is not preserving bash history between sessions [duplicate] "Git Bash here" is not preserving bash history between sessions [duplicate] bash bash

"Git Bash here" is not preserving bash history between sessions [duplicate]


You should be able to fix this by adding this line to your ~/.bash_profile

PROMPT_COMMAND='history -a'


As mentioned here: https://stackoverflow.com/a/60718848/6680510

Create the following files

~/.bash_profile~/.bashrc

And put the following line in both of them

PROMPT_COMMAND='history -a'

To do this from the console (git bash) itself use the followingcommands

echo "PROMPT_COMMAND='history -a'" >> ~/.bash_profileecho "PROMPT_COMMAND='history -a'" >> ~/.bashrc

What history -a means

From history --help command

-a append history lines from this session to the history file

What is PROMPT_COMMAND ?

Bash provides an environment variable called PROMPT_COMMAND. The contents of this variable are executed as a regular Bash command justbefore Bash displays a prompt.

Difference between .bash_profile AND .bashrc

.bash_profile is executed for login shells, while .bashrc isexecuted for interactive non-login shells.

When you login (type username and password) via console, eithersitting at the machine, or remotely via ssh: .bash_profile is executedto configure your shell before the initial command prompt.

But, if you’ve already logged into your machine and open a newterminal window (xterm) then .bashrc is executed before the windowcommand prompt. .bashrc is also run when you start a new bash instanceby typing /bin/bash in a terminal.

On OS X, Terminal by default runs a login shell every time, so this isa little different to most other systems, but you can configure thatin the preferences.

References

https://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x264.htmlhttps://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and-bashrc


Putting

PROMPT_COMMAND='history -a ~/.bash_history'

into the .bash_profile did it for me.