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.
-
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, execute
git filter-repo
, fornecendo estas informações:FOLDER-NAME
: A pasta dentro do seu projeto onde você deseja criar um repositório separado.
Dica: os usuários do Windows devem usar
/
para delimitar as pastas.$ git filter-repo --path FOLDER-NAME1/ --path FOLDER-NAME2/ # Filter the specified branch in your directory and remove empty commits > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' was rewritten
Agora o repositório deve conter apenas os arquivos que estava(m) na(s) subpasta(s).
-
Crie um repositório no GitHub Enterprise Server.
-
Na parte superior do seu novo repositório na página de Configuração Rápida de your GitHub Enterprise Server instance, clique em para copiar a URL do repositório remoto.
Dica: Para obter informações sobre a diferença entre as URLs de HTTPS e SSH, consulte "Sobre repositórios remotos".
-
Verifique o nome remoto do repositório. Por exemplo,
origin
ouupstream
são duas escolhas comuns.$ git remote -v > origin https://hostname/USERNAME/REPOSITORY-NAME.git (fetch) > origin https://hostname/USERNAME/REPOSITORY-NAME.git (push)
-
Configure uma nova URL remota para o novo repositório usando o nome e a URL do repositório remote copiados na etapa 7.
git remote set-url origin https://hostname/USERNAME/NEW-REPOSITORY-NAME.git
-
Verifique se a URL remota mudou com o nome do novo 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