Nossa situação atual é essa: temos mais coisas no ambiente local do que em nuvem (origin) que está no github

image.png

O repositório de “origem” está na branch main. Podemos chamar encarar essa branch como uma linha do tempo principal.

image.png

Branches são ramificações, cópias em algum nível da branch principal, como galhos que derivam de sua árvore.

image.png

Local/main = uma cópia local da branch main

Origin/main = a versão original (na nuvem) da branch main

image.png

Com o comando git push podemos atualizar a branch de origin com nossas alterações locais. Ele faz o upload das nossas alterações locais para a nuvem.

image.png

Essa relação local-remoto pode nos beneficiar muito em casos onde chegamos a um código irreversível localmente, contornando o problema ao excluir o local e baixar novamente a versão remota que está em nuvem

image.png

Assim como o push faz o upload, o git pull faz o download das coisas em nuvem