Building off the answer provided by Groggle, you can create an alternative cd (ch) in your ~/.bash_profile like.
function ch () { cd $@ export HISTFILE="$(pwd)/.bash_history" } automatically exporting the new HISTFILE value each time ch is called.
The default behavior in bash only updates your history when you end a terminal session, so this alone will simply save the history to a .bash_history file in whichever folder you happen to end your session from. A solution is mentioned in this post and detailed on this page, allowing you to update your HISTFILE in realtime.
A complete solution consists of adding two more lines to your ~/.bash_profile,
shopt -s histappend PROMPT_COMMAND="history -a;$PROMPT_COMMAND" changing the history mode to append with the first line and then configuring the history command to run at each prompt.
Hope this is helpful!
EDIT: It was pointed out to me that problems may arise when the directory name contains spaces, but to address this issue, simply replace
$@ with
"$@" All the best!