Personally, I found the following to be extremely easy and powerful. A no-brainer that should be a bash default really.
if [ -t 1 ]
then
# search for commands that start off with the same characters already typed
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
fi
One of my friends also recommended version-controlling your config files and storing them on gitlab, which I'm only sad I didn't do sooner. It's been such a help in keeping my aliases and configs in sync, as I make changes across numerous different machines.A good starting point for versioning dotfiles is https://dotfiles.github.io/. I like to use Dotbot [1] for managing and installing my dotfiles, but there are plenty of other options listed.