Compartilhar via


Mover repositórios Git para outro projeto com histórico de fidelidade total

Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022

Logotipo do Git

Se você planeja consolidar vários projetos do Azure DevOps em um, provavelmente está se perguntando o que deve fazer com todos os repositórios:

  • Você deve mover projetos ou mesclá-los?
  • Você deve manter o histórico ou apenas os projetos mais recentes?

Pré-requisitos

Categoria Requirements
Acesso ao projeto Membro de um projeto.
Permissões - Exibir código em projetos privados: pelo menos acesso básico .
- Clonar ou contribuir com código em projetos privados: Membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto.
- Definir permissões de branch ou repositório: Gerenciar permissões são as permissões para o branch ou repositório.
- Alterar o branch padrão: As políticas de edição são permissões para o repositório.
- Importar um repositório: membro do grupo de segurança Administradores do Projeto ou da permissão Criar repositório no nível do projeto do Git definida como Permitir. Para obter mais informações, consulte Definir permissões de repositório Git.
Serviços Repositórios habilitados.
Tools Optional. Use az repos os comandos: CLI do Azure DevOps.

Observação

Em projetos públicos, os usuários com acesso ao Stakeholder têm acesso total ao Azure Repos, incluindo exibição, clonagem e contribuição para o código.

Categoria Requirements
Acesso ao projeto Membro de um projeto.
Permissões - Visualizar código: pelo menos acesso básico.
- Clonar ou contribuir com o código: membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto.
Serviços Repositórios habilitados.

Qual é o cenário?

Conforme mostrado, você precisa mover o MigrationDemo repositório do FabrikamOld para o novo projeto de equipe Fabrikam.

Captura de tela que mostra o cenário de movimentação do repositório.

Como posso me mover?

Você tem duas opções para mover, conforme descrito aqui. A funcionalidade de importação é mais fácil, mas está disponível apenas no Azure DevOps Services e no Team Foundation Server 2017 Atualização 1 e posterior.

Usar a funcionalidade de Importar Repositório Git

Ao usar o recurso Importar Repositório, você pode importar um repositório Git para seu projeto de equipe do Team Foundation Server, do Azure Repos ou de qualquer outro provedor de código-fonte Git, como o GitHub. Para obter mais informações, consulte Importar um repositório Git para um projeto.

Migrar manualmente o repositório Git

Criar um repositório Git vazio

No Gerenciador de CÓDIGOS, selecione o nome do repositório. Selecione Novo Repositório na lista, selecione Git como o tipo e dê-lhe um nome.

Captura de tela que mostra a criação de um novo repositório.

Depois que o repositório é criado, as instruções passo a passo aparecem para ajudá-lo a começar. Copie a URL do clone para sua área de transferência.

Captura de tela que mostra o painel para adicionar novas informações de repositório.

Importante

Desmarque a opção criação automática de links para itens de trabalho mencionados em um comentário de commit se você planeja importar de uma coleção de projetos diferente ou de um repositório Git estrangeiro. Caso contrário, o Azure DevOps associa as confirmações a itens de trabalho existentes de projetos de equipe não relacionados na coleção de projetos de equipe.

Captura de tela que mostra as novas opções de repositório.

Espelhar o repositório

Alterne para um prompt de comando de desenvolvedor e navegue até o seu repositório local (origem) para o repositório MigrationDemo em FabrikamOld. Execute o comando git clone --mirror utilizando a URL de clonagem. A linha de comando é git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo.

O clone --mirror comando é redundante nesse caso porque o repositório remoto está nu. Ele é usado aqui como uma maneira segura e fácil de configurar o remoto.

Captura de tela que mostra que o comando clone do Git foi concluído.

Enviar por push o repositório

Execute o git push comando para enviar por push as alterações locais para o repositório remoto (destino).

Captura de tela que mostra que o comando de push do Git foi concluído.

A --mirror opção é usada com os comandos clone e push. A opção garante que todas as ramificações e outros atributos sejam replicados no novo repositório.

Validar o novo repositório

Alterne para o portal da Web do Azure DevOps e valide o novo repositório e o histórico no hub CODE .

Captura de tela que mostra a validação do repositório no CODE Explorer.

Verifique se todas as ramificações foram movidas para o novo repositório.

Configurar o novo repositório

Verifique se as permissões e as políticas estão configuradas corretamente para o novo repositório. Você pode configurar a segurança depois de criar um repositório Git vazio ou neste estágio. Reconfigure seus builds para se conectar ao novo repositório. Por fim, notifique os usuários do repositório original para atualizar seus controles remotos no Visual Studio ou executando o git remote set-url origin comando.

> git remote set-url origin https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo

Importante

Lembre-se de limpar o projeto original excluindo o repositório (tenha cuidado, não há desfazer) ou bloqueando as branches para que ninguém o atualize acidentalmente.

Para obter mais informações sobre como planejar suas coleções de projetos de equipe e projetos de equipe, consulte Planejamento, Prevenção e Recuperação de Desastres do TFS e TFS no Guia de IaaS do Azure.