They're using zsh shell with a script (I assume) that changes the prompt based on what they're doing in git. Possibly using font awesome for the github fork glyphs. It is likely a program to install related to github.
What it essentially is doing is modifying the value of the prompt variable $PS1
The colors are created by using ANSI escape codes.
The icons are created by using Unicode glyphs
#the echo line below would print a white up/down arrow on a green background in a terminal capable of handling colors.
#\\u2B0D unicode for the up/down arrow glyph
#\033...etc the ANSI code to change foreground & background colors
echo -e "\033[42m\033[37m\\u2B0D "