git learning purpose