A full git guide