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.
-
Abra Terminal (Terminal)Terminal (Terminal)Git Basho terminal.
-
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 # 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 presentes na sua subpasta.
-
-
Crie um repositório no GitHub Enterprise.
-
At the top of your new GitHub Enterprise repository's Quick Setup page, click to copy the remote repository URL.
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