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 descartar a subpasta do restante dos arquivos no repositório, execute
git filter-branch
fornecendo estas informações:-
FOLDER-NAME
: a pasta no projeto da qual deseja criar um repositório separado.Dica: os usuários do Windows devem usar
/
para delimitar as pastas. -
BRANCH-NAME
: O branch-padrão para seu projeto atual, por exemplo,main
ough-pages
.$ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME # Filtra o branch especificado no diretório e remove os commits vazios > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' was rewritten
Agora, o repositório deve conter apenas os arquivos presentes na sua subpasta.
-
-
Crie um repositório no GitHub Enterprise Server.
-
No topo da página Quick Setup (Configuração rápida) do novo repositório 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, consulte "Qual URL remote devo usar?"
-
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