git end to end flow