Comandos do Git

git push

git push: faz push das alterações para um repositório remoto.

O comando git push serve para enviar o conteúdo do repositório local a um repositório remoto. É assim que você transfere commits do seu repositório local para um repo remoto. Ele é a contraparte do git fetch: enquanto o fetch importa commits para as branches locais, o push exporta commits para as branches remotas.

O push pode sobrescrever alterações, então é preciso ter cuidado ao usá-lo. Essas alterações são enviadas ao repositório remoto e podem afetar outros colaboradores que trabalham no mesmo projeto.

Quando você faz push, está atualizando a branch remota com as suas alterações locais. Se outra pessoa tiver feito push para a mesma branch nesse meio-tempo, o Git vai recusar o push e pedir que você puxe as alterações remotas primeiro. Isso evita que você sobrescreva sem querer o trabalho de outra pessoa.

O push é a forma de compartilhar seus commits com outras pessoas e uma parte essencial do desenvolvimento colaborativo com Git. Ele permite que todo mundo veja o seu trabalho e incorpore as suas alterações nos próprios repositórios.

Exemplos

Digamos que você fez algumas alterações no repositório local e quer compartilhá-las com a equipe. Veja como fazer isso.

Depois de commitar as alterações localmente, faça push dos novos commits da sua branch local main para a branch de mesmo nome no repositório remoto chamado origin:

git push origin main

Se a branch não existir, use a opção -u (abreviação de --set-upstream) para criá-la:

git push -u origin new-feature

Faça push de todas as branches locais para as branches remotas correspondentes:

git push --all

Faça um push forçado, sobrescrevendo a branch remota com as suas alterações locais:

Essa ação é PERIGOSA e deve ser usada com o máximo de cautela, porque pode sobrescrever o trabalho de outras pessoas.

Em circunstâncias normais, o certo é primeiro puxar as alterações remotas e fazer rebase das suas alterações em cima das atualizações (depois de um git pull ou git fetch), resolvendo os conflitos que aparecerem. Depois disso, você consegue fazer push das suas alterações sem precisar forçar.

git push --force