Git Bash is command line programs which allow you to interface with the underlying git program. Bash is a Linux-based command line (which has been ported over to Windows) while Shell is a native Windows command line.