Dividir uma subpasta em um novo repositório
Você pode transformar uma pasta em um repositório do Git repository em um novo repositório.
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.
-
Open 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 do projeto atual, comomaster
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.
-
No topo da página Quick Setup (Configuração rápida) do novo repositório do GitHub Enterprise, 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 # Verificar nova URL remota > 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.
git push -u origin BRANCH-NAME