From eea3aea306f924993240e3060df66752e3f07a43 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 30 Jun 2014 07:16:57 -0300 Subject: [PATCH] git push incompleto --- Colaborando_com_Git.mdwn | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Colaborando_com_Git.mdwn b/Colaborando_com_Git.mdwn index 98b6133..621da7c 100644 --- a/Colaborando_com_Git.mdwn +++ b/Colaborando_com_Git.mdwn @@ -153,6 +153,47 @@ branch remoto que é rastreado pelo branch local. O rastreamento de um branch local é importante para comandos como git push e git pull, que veremos logo mais. +## Atualizando repositórios remotos + +Após clonar ou adicionar um repositório remoto com uma URL que permite +escrita, poderemos atualizá-lo através do comando git push. + +O comportamento de git push sofreu alterações ao longo das versões de +Git. Veremos alguns destes comportamentos padrões, e como utilizar +parâmetros explícitos para evitar surpresas. + + ~/project$ git add hello.c + ~/project$ git commit -m "Utiliza world sem capitalização" + [master 18c7b69] Utiliza world sem capitalização + 1 file changed, 1 insertion(+), 1 deletion(-) + ~/project$ git push origin master:master + Counting objects: 3, done. + Delta compression using up to 4 threads. + Compressing objects: 100% (3/3), done. + Writing objects: 100% (3/3), 321 bytes | 0 bytes/s, done. + Total 3 (delta 2), reused 0 (delta 0) + To /home/user2/project + 033d4b8..18c7b69 master -> master + ~/project$ + +Adicionamos um novo commit ao nosso histórico, e fazemos uma atualização +no repositório remoto origin. O primeiro parâmetro é o repositório +remoto que queremos atualizar. O segundo parâmetro, chamado refspec, +especifica o branch local e o branch remoto que serão sincronizados. + +No exemplo acima, o branch local master foi utilizado para atualizar o +branch remoto master. Objetos são escritos no repositório remoto, e a +referência atualizada. + +Note que o branch de origem deve conter todos os commits no branch de +destino a ser atualizado. Caso contrário, o push não avançará o branch +remoto, o que chamamos de fast-forward. Veremos mais à frente as +condições para termos uma situação de fast-forward. + +Tanto o remoto quanto o refspec podem ser omitidos. O padrão em versões +anteriores à versão 2.0.0 do Git era fazer o push de todos os +repositórios + ## Publicando um repositório Vimos como trabalhar com um repositório remoto, obtendo seus commits -- 2.20.1