understanding the git workflow