Partilhar via


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

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

Logótipo Git

Se planeias consolidar vários projetos Azure DevOps num só, provavelmente estás a perguntar-te o que deves fazer com todos os repositórios:

  • Deves mover projetos ou fundi-los?
  • Deves manter o histórico ou apenas os projetos mais recentes?

Pré-requisitos

Categoria Requerimentos
Acesso ao projeto Membro de um projeto .
Permissões - Ver código em projetos privados: Acesso pelo menos Básico.
- Clonar ou contribuir para código em projetos privados: Membro do grupo de segurança Contributors ou permissões equivalentes no projeto.
- Definir permissões de branch ou repositório: As permissões de gestão são permissões para o branch ou repositório.
- Alterar ramo predefinido: 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 de Projeto ou com permissão de Criar repositório ao nível do projeto Git definida como Permitir. Para obter mais informações, consulte Definir permissões do repositório Git.
Serviços Repos ativado.
Tools Opcional. Use az repos comandos: Azure DevOps CLI.

Observação

Em projetos públicos, os usuários com acesso Partes Interessadas têm acesso total aos repositórios do Azure, incluindo visualização, clonagem e contribuição para o código.

Categoria Requerimentos
Acesso ao projeto Membro de um projeto .
Permissões - Visualização de código: Pelo menos acesso básico.
- Clone ou contribua para o código: Membro do grupo de segurança Contributors ou com permissões correspondentes no projeto.
Serviços Repos ativado.

Qual é o cenário?

Como mostrado, precisas de mover o MigrationDemo repositório de FabrikamOld para o novo projeto da Fabrikam equipa.

Captura de ecrã que mostra o cenário de mover o repositório.

Como me movo?

Tens duas opções para te mudares, conforme aqui explicado. A funcionalidade de importação é mais fácil, mas está disponível apenas no Azure DevOps Services e no Team Foundation Server 2017 Update 1 e posteriores.

Usar a funcionalidade Importar repositório Git

Quando utiliza a funcionalidade de Importar Repositório, pode importar um repositório Git para o seu projeto de equipa a partir do Team Foundation Server, Azure Repos ou qualquer outro fornecedor de repositório de código fonte Git, como o GitHub. Para 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 Explorador de CODES, selecione o nome do repositório. Selecione Novo Repositório da lista, selecione Git como tipo e dei-lhe um nome.

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

Depois de criar o repositório, surgem instruções passo a passo para o ajudar a começar. Copia o URL do clone para a tua prancheta.

Captura de ecrã que mostra o painel para adicionar nova informação do repositório.

Importante

Limpe a opção Criar automaticamente links para itens de trabalho mencionados num comentário de commit se plano importar de uma coleção de projeto diferente ou de um repositório Git estrangeiro. Caso contrário, o Azure DevOps associa os commits a itens de trabalho existentes de projetos de equipa não relacionados na coleção de projetos de equipa.

Captura de ecrã que mostra novas opções de repositório.

Espelhar o repositório

Mude para uma linha de comandos de programador e defina o caminho para o seu repositório local (de origem) para o MigrationDemo repositório em FabrikamOld. Executa o git clone --mirror comando usando a URL do clone. A linha de comandos é git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo.

O clone --mirror comando é redundante neste caso porque o repositório remoto está vazio. Aqui é usado como uma forma segura e fácil de configurar o controlo remoto.

Captura de ecrã que mostra que o comando clone do Git está feito.

Empurre o repositório

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

Captura de ecrã que mostra que o comando push do Git está feito.

A --mirror opção é usada tanto com os comandos clone como 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 ecrã que mostra a validação dos repositórios no Explorador de CODES.

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

Configurar o novo repositório

Verifique se as permissões e políticas estão configuradas corretamente para o novo repositório. Pode configurar a segurança depois de criar um repositório Git vazio ou nesta fase. Reconfigure suas compilações para se conectar com o novo repositório. Por fim, avise os utilizadores do repositório original para atualizarem os seus remotos no Visual Studio ou executando o comando git remote set-url origin.

> 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 (cuidado, não há desfazer) ou bloqueando as ramificações para que ninguém acidentalmente continue atualizando-o.

Para mais informações sobre como planear as coleções e projetos de equipa da sua equipa, consulte Planeamento TFS, Prevenção e Recuperação de Desastres e TFS no Azure IaaS Guide.