git push incompleto
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 30 Jun 2014 10:16:57 +0000 (07:16 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 30 Jun 2014 10:16:57 +0000 (07:16 -0300)
Colaborando_com_Git.mdwn

index 98b6133..621da7c 100644 (file)
@@ -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