.bash_profile is a file that is mainly located in user home directory and executed in case of login shell. When we open a terminal the .bash_profile file is executed.
.bashrc file is used and executed in case of non logged in shell. Let’s say we have a terminal open and if we now want to a separate tab then the .bashrc file is executed.
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.
However, if you add the following to your .bash_profile, you can then move everything into your .bashrc file so as to consolidate everything into one place instead of two:
if [ -f $HOME/.bashrc ]; then source $HOME/.bashrc fi