Criando um repositório Git é uma seção.
[cursogit.git] / Colaborando_com_Git.mdwn
index cf7e35f..0172b2e 100644 (file)
@@ -134,4 +134,48 @@ utilizado git remote update.
 
 Veja que um novo branch foi atualizado.
 
+## Branches remotos
+
+Agora que temos uma lista de branches remotos, podemos manipulá-los como
+branches locais, usando git log, git diff, entre outros comandos.
+Podemos fazer um checkout de um branch remoto, criando um branch local.
+
+       ~/project$ git checkout -b shell alice/shell
+       Branch shell set up to track remote branch shell from alice.
+       Switched to a new branch 'shell'
+       ~/project$ git branch -vv
+         master 033d4b8 [origin/master] Acrescenta lista de arquivos a serem ignorados.
+       * shell  a5cb5bb [alice/shell] Implementação de hello em shell script.
+       ~/project$ 
+
+A opção -vv de git branch mostra o commit ID, o sumário do commit, e o
+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.
+
 ## Publicando um repositório
+
+Vimos como trabalhar com um repositório remoto, obtendo seus commits
+para trablharmos localmente. No entanto, o caminho reverso é necessário
+para publicarmos os commits locais para que outros possam trabalhar com
+eles.
+
+Há várias formas de fazê-lo. Veremos aqui algumas delas, utilizando um
+host próprio, que seja acessível ao público alvo, através de SSH, HTTP
+ou git daemon.
+
+Publicar através de SSH é simples de ser feito, mas tem algumas
+implicações. Entre elas é o acesso exigido a um shell no host para os
+usuários, dificultando acesso anônimo e criando um novo problema de
+segurança a ser resolvido. A outra implicação é que o acesso por
+múltiplos usuários a um mesmo repositório exige um cuidado especial para
+evitar problemas de permissão quando um usuário publica novos commits e
+outros objetos. Há algumas soluções que resolvem alguns desses
+problemas, criando um shell e um usuário especial para uso dedicado a
+repositórios Git. Veremos, no entanto, apenas a solução mais comum, que
+não exige outro software instalado no host, além de Git.
+
+Uma excelente forma de utilizar a publicação via SSH é disponibilizá-la
+de forma somente leitura através de outros métodos, e ter um único
+usuário que possa atualizá-lo, o que resolve vários dos problemas já
+mencionados.