Compartilhar

Compartilhar

No SVN, os desenvolvedores compartilham contribuições fazendo o commit de alterações de uma cópia de trabalho em seu computador local para um repositório central. Em seguida, outros desenvolvedores extraem essas atualizações do repositório central para suas próprias cópias de trabalho locais.

O fluxo de trabalho de colaboração do Git é muito diferente. Em vez de diferenciar entre cópias de trabalho e o repositório central, o Git dá a cada desenvolvedor sua própria cópia local do repositório inteiro. As alterações passam por commit para esse repositório local em vez de um para repositório central. Para compartilhar atualizações com outros desenvolvedores, você precisa enviar essas alterações locais para um repositório público do Git em um servidor. Em seguida, os outros desenvolvedores podem extrair seus novos commits do repositório público para seus próprios repositórios locais.

Migração do Git: desenvolvimento centralizado de SVN vs. desenvolvimento distribuído de Git

Oferecer a cada desenvolvedor seu próprio repositório completo é o coração do controle de versão distribuído e abre uma ampla variedade de fluxos de trabalho potenciais. Você pode ler mais sobre esses fluxos de trabalho na seção Fluxos de trabalho do Git.

Até agora, você só tem trabalhado com um repositório do Git local. Esta página explica como enviar esse repositório local para um repositório público hospedado no Bitbucket. Compartilhar o Repositório do Git durante a migração permite que sua equipe experimente os comandos do Git sem afetar o desenvolvimento ativo do SVN. Até que você esteja pronto para fazer a troca, é muito importante tratar os repositórios Git compartilhados como somente leitura. Todo o desenvolvimento deve continuar passando por commit para o repositório SVN original.

Criar uma conta do Bitbucket

Se você ainda não tem uma conta do Bitbucket, vai precisar criar uma. A hospedagem é gratuita para até 5 usuários, para que você possa começar a experimentar novos fluxos de trabalho do Git imediatamente.

Criar um repositório do Bitbucket

Em seguida, você vai precisar criar um repositório do Bitbucket. O Bitbucket torna muito fácil administrar seus repositórios hospedados por meio de uma interface da web. Tudo o que você precisa fazer é clicar no botão Criar repositório depois de fazer login.

Migração do Git: criar repositório

No formulário resultante, adicione um nome e uma descrição para o repositório. Se o projeto for privado, mantenha a opção Nível de acesso marcada para que apenas os desenvolvedores designados possam cloná-lo. Para o campo Bifurcação, use Permitir apenas bifurcações privadas. Use o Git para o Tipo de repositório, selecione as ferramentas de gestão de projetos que quer usar e selecione a linguagem de programação primária do seu projeto no campo Linguagem.

Migração do Git: criar repositório do Bitbucket

Para criar o repositório hospedado, envie o formulário clicando no botão Criar repositório. Depois que o repositório estiver configurado, você vai ver uma página Próximas etapas que descreve alguns comandos úteis para importar um projeto existente. O resto desta página vai apresentar um passo a passo para guiar você por essas instruções.

Adicionar um repositório remoto de origem

Para facilitar o envio de commits do repositório do Git local para o repositório do Bitbucket que você acabou de criar, você deve registrar a URL do repositório Bitbucket em um remoto. Um repositório remoto é apenas um atalho conveniente para uma URL. Tecnicamente, você pode usar o que quiser para o atalho, mas se o repositório remoto servir como base de código oficial para o projeto, ele costuma ser chamado de origin. Execute o comando a seguir no repositório do Git local para adicionar seu novo repositório Bitbucket como o remoto origin.

git remote add origin https://<username>@bitbucket.org/<workspace-id>/<repo>.git

Altere para seu nome de usuário do Bitbucket e para o nome do repositório do Bitbucket. Você também deve poder copiar e colar a URL completa da interface da web do Bitbucket.

Migração do Git: adicionar repositório remoto de origem

Depois de executar o comando acima, você pode usar origin em outros comandos do Git para se referir ao seu repositório do Bitbucket.

Enviar o repositório local para o Bitbucket

Em seguida, você precisa preencher o repositório do Bitbucket com o conteúdo do repositório do Git local. Essa ação de envio é chamada de “push” e pode ser feita com o seguinte comando:

git push -u origin --all

A opção -u informa ao Git que deve rastrear os branches upstream. Assim o Git pode identificar se o histórico de commits do repositório remoto está à frente ou atrás dos locais. A opção --all envia todos os branches locais para o repositório remoto.

Você também precisa enviar suas tags locais para o repositório do Bitbucket com a opção --tags:

git push --tags
Migração do Git: enviar para repositório do Bitbucket

Seu repositório do Bitbucket agora é essencialmente um clone do repositório local. Na interface da web do Bitbucket, você deve poder explorar todo o histórico de commits de todos os seus branches.

Compartilhar o repositório com a equipe

Tudo o que você precisa fazer agora é compartilhar a URL do seu repositório do Bitbucket com qualquer outro desenvolvedor que precise acessar o repositório. A URL de qualquer repositório do Git pode ser copiada e colada a partir da página inicial do repositório no Bitbucket:

Migração do Git: compartilhar o repositório

Se o repositório for privado, você também vai precisar conceder acesso aos membros da sua equipe na guia Administração da interface da web do Bitbucket. Usuários e grupos podem ser gerenciados clicando no link Gerenciamento de acesso na barra lateral esquerda.

Migração do Git: gerenciamento de acesso de repositórios do Git

Como alternativa, você pode usar o recurso de convite integrado do Bitbucket para convidar outros desenvolvedores a bifurcar o repositório. Os usuários convidados vão receber automaticamente acesso ao repositório, então você não precisa se preocupar em conceder permissões.

Depois que eles tiverem a URL do seu repositório, outro desenvolvedor vai poder copiar o repositório para sua máquina local com o git clone e começar a trabalhar com o projeto. Por exemplo, depois de executar o comando a seguir em sua máquina local, outro desenvolvedor encontraria um novo repositório do Git contendo o projeto no diretório de .

git clone https://<username>@bitbucket.org/<workspace-id>/<repo>.git 

Continuar fazendo o commit com o SVN, não com o Git

Agora você deve poder enviar o projeto local para um repositório remoto, e sua equipe deve poder usar esse repositório remoto para clonar o projeto em suas máquinas locais. Essas são todas as ferramentas de que você precisa para começar a colaborar com o Git. No entanto, você e sua equipe devem continuar a fazer o commit das alterações usando o SVN até que todos estejam prontos para fazer a troca.

As únicas alterações no repositório do Git devem vir do repositório SVN original usando o processo de sincronização discutido na página anterior. Na prática, quer dizer que todos os seus repositórios Git (locais e remotos) são somente leitura. Os desenvolvedores podem fazer testes com eles, e você pode começar a integrá-los no processo de build, mas você deve evitar fazer o commit de quaisquer alterações permanentes usando o Git.

Migração do Git: apenas as alterações no repositório do Git devem vir do repositório do SVN original

Resumo

Nesta etapa, você configura um repositório do Bitbucket para compartilhar o repositório do Git convertido com outros desenvolvedores. Agora você deve ter todas as ferramentas necessárias para implementar qualquer um dos fluxos de trabalho git descritos na página sobre Fluxos de trabalho do Git. Você pode continuar fazendo a sincronização com o repositório SVN e compartilhando os commits resultantes do Git via Bitbucket pelo tempo que for necessário para deixar a equipe de desenvolvimento confortável com o Git. Depois, você pode concluir o processo de migração deixando de usar o repositório SVN.

Pronto(a) para aprender Git?

Tente este tutorial interativo.

Comece agora mesmo