Observação: você precisa do Git versão 2.22.0 ou posterior para seguir essas instruções, caso contrário, git filter-repo não funcionará.
Se você criar um clone do repositório, não perderá nenhuma alteração ou histórico do Git quando dividir uma pasta e criar um repositório separado. No entanto, observe que o novo repositório não terá os branches e as marcas do repositório original.
- 
Abra TerminalTerminalGit Bash. 
- 
Altere o diretório de trabalho atual para o local em que deseja criar o novo repositório. 
- 
Clone o repositório que contém a subpasta. git clone https://HOSTNAME/USERNAME/REPOSITORY-NAME
- 
Altere o diretório de trabalho atual para o repositório clonado. cd REPOSITORY-NAME
- 
Para filtrar a subpasta do restante dos arquivos no repositório, instale git-filter-repo, e executegit filter-repocom os argumentos a seguir.- FOLDER-NAME: a pasta dentro do seu projeto onde você deseja criar um repositório separado.
 Dica: usuários do Windows devem usar /para delimitar pastas.$ git filter-repo --path FOLDER-NAME/ # Filter the specified branch in your directory and remove empty commitsAgora o repositório deve conter apenas os arquivos que estava(m) na(s) subpasta(s). Para que uma subpasta específica seja a nova pasta raiz do novo repositório, use o seguinte comando: $ git filter-repo --subdirectory-filter FOLDER-NAME # Filter the specific branch by using a single sub-directory as the root for the new repository
- 
Crie um repositório no GitHub Enterprise Server. 
- 
Na parte superior do novo repositório na página de Configuração Rápida de sua instância do GitHub Enterprise Server, clique em para copiar a URL do repositório remote.  Dica: para obter informações sobre a diferença entre URLs HTTPS e SSH, confira "Sobre repositórios remote". 
- 
Adicione um nome remoto com a URL que você copiou para seu repositório. Por exemplo, originouupstreamsão duas opções comuns.git remote add origin https://HOSTNAME/USERNAME/REPOSITORY-NAME.git
- 
Verifique se a URL remota foi adicionada com seu nome de repositório. $ git remote -v # Verify new remote URL > origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (push)
- 
Faça push das alterações para o novo repositório no GitHub Enterprise Server. git push -u origin BRANCH-NAME