# Colaborando com Git Git funciona localmente. Commits, branches, logs estão gravados no repositório local. Para colaborar com outros projetos, precisamos publicar e ter acesso a repositórios públicos. É possível publicar através de vários protocolos. Além de um diretório local, uma das formas mais simples é utilizar SSH, já que independe de outra configuração e permite escrita. HTTP é uma boa opção somente leitura para repositórios públicos, já que não exige credenciais para acesso. A outra opção é o protocolo próprio do Git, através do git daemon. ## Repositórios e branches remotos Para criar um novo repositório a partir de um repositório publicado, usamos o comando git clone. ~/$ git clone /home/user2/project Cloning into 'project'... done. ~/$ cd project ~/project$ ls -a . .. .git README ~/project$ Quando um repositório é clonado, temos uma cópia local das referências deste repositório. O repositório é registrado com um nome, sendo origin o nome padrão, e as referências a seus branches são prefixadas com este nome e uma barra. Para visualizar estes branches remotos, utilizamos a opção -r do comando git branch. ~/project$ git branch -r origin/HEAD -> origin/master origin/master ~/project$ Note que o HEAD do repositório remoto aponta para o branch remoto chamado master. O HEAD remoto é utilizado para criar um novo branch local quando o repositório é clonado. ~/project$ git branch * master ~/project$