Como mover um diretório para o novo repositório Git com história de compromisso

Como mover um diretório para o novo repositório Git com história de compromisso

Trabalhando com um repositório Git, você pode ser obrigado a mover um diretório específico para um novo repositório. Se você apenas copiar o conteúdo do diretório de um repositório para outro repositório, você perderá o histórico de compromissos. Portanto, siga este tutorial para remover um diretório para um novo repositório Git com preservação do histórico de commit.

Neste tutorial, você aprenderá a mover um diretório de um repositório Git para um novo repositório Git.

Mover diretório para um novo repositório Git

Siga as etapas abaixo para mover uma pasta de um repositório existente para um novo repositório.

  1. Primeiro de tudo, clone o repositório principal que contém um diretório para se mover.
    clone git https: // github.com/nome de usuário/repo primário.git  
  2. Alterar diretório para o repositório recém -clonado
    Nome do repositório de CD 
  3. Em seguida, a opção Filterrch permite reescrever o histórico de revisão do Git, reescrevendo os ramos mencionados na linha de comando. Isso filtrará o subdiretório do restante dos arquivos no repositório atual.
    Git-Branch-Branch --prune-hemepty-Subdirectory-filter sub_directory_name Branch_name  

    Aqui:

    • Sub_directory_name: O caminho relativo para o diretório dentro dos arquivos do projeto, você precisa se separar dos outros.
    • Branch_name: Selecione o nome da filial do qual o diretório será filtrado, como "Main", "Master", "Develop" etc.

    Depois que o comando acima executado com sucesso, você verá que o diretório atual possui apenas arquivos que estavam no subdiretório.

  4. Crie um novo repositório no Github, Gitlab ou qualquer outro provedor de git.
  5. Defina o novo URL como a origem do diretório atual. Este é o mesmo diretório em que você filtrou o código do repositório Git anterior.
    Git Remote Set-URL Origin https: // github.com/nome de usuário/new_repo_name.git  
  6. Em seguida, verifique se os URLs de origem git foram atualizados no diretório atual.
    git remoto -v  

    Você verá a seguinte saída:

    # Verifique o novo URL remoto> Origin https: // github.com/nome de usuário/new_repo_name.git (busca)> origem https: // github.com/nome de usuário/new_repo_name.git (push) 
  7. Finalmente, empurre todos os arquivos para o novo repositório.
    git push -U Origin Branch_name  

Parabéns, você copiou com sucesso um diretório para um novo repositório Git.