4 stages unstaged staged commited pushed 2 type of repositories remote repository local repository push pull