understanding git