.bash_history does not update in Git for Windows (git bash)

后端 未结 7 1159
慢半拍i
慢半拍i 2020-12-13 01:30

I am using Git for Windows (ver. 1.7.8-preview20111206) and even though I have a .bash_history file in my HOME folder, it never automatically gets updated. When I start Git

相关标签:
7条回答
  • 2020-12-13 02:12

    I put this in my ~/.bash_profile

    PROMPT_COMMAND='history -a'
    
    0 讨论(0)
  • 2020-12-13 02:13

    If you use git bash for windows 8, just put this in your ~/.bash_logout file:

    history > .bash_history
    

    Obviously you need a ~/.bash_history file.

    Regards.

    0 讨论(0)
  • 2020-12-13 02:18

    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 following commands

    echo "PROMPT_COMMAND='history -a'" >> ~/.bash_profile
    echo "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 just before Bash displays a prompt.

    Difference between .bash_profile AND .bashrc

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

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

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

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

    References

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

    0 讨论(0)
  • 2020-12-13 02:20

    I am using Windows 10 for me it was a permission problem, my temporary solution was to add Everyone group and give it Full control on ~/.bash_history file.

    0 讨论(0)
  • 2020-12-13 02:28

    As it was said here, to save git bash history on Windows you must not close the terminal with X button. Use exit command instead. History of commands will be saved then regardless of configuration mentioned in the accepted answer.

    0 讨论(0)
  • 2020-12-13 02:29

    If you're using Git bash in VSCode please see C.M.'s comment above.

    This worked for running git's bash in Visual Studio Code, but I had to put it ~/.bashrc not ~/.bash_profile. – C.M. Jul 29 at 14:43

    This solved it for me.

    0 讨论(0)
提交回复
热议问题