I found that my ~/.bash_history has record of all commands I typed in different terminal tabs. But when I do reverse-search (CTRL+r) it only shows commands from that particular tab from which I'm doing reverse search. How to enable reverse search so that it looks through all commands in ~/.bash_history rather than just current tab history?
Most of this is covered here.
To answer your precise question- By default, the history file is read once at shell startup, and written once at shell exit. To fetch commands that appeared in the history file since the shell start, use the history update command
history -n, or the combination
history -a ; history -c; history -r. The difference between those is how the histories are merged.