what does git do