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.

  1. Abra TerminalTerminalGit Bash.

  2. Altere o diretório de trabalho atual para o local em que deseja criar o novo repositório.

  3. Clone o repositório que contém a subpasta.

    $ git clone https://hostname/USERNAME/REPOSITORY-NAME
  4. Altere o diretório de trabalho atual para o repositório clonado.

    $ cd REPOSITORY-NAME
  5. 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.

      <div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-info color-bg-info f5">
      
      **Dica:** os usuários do Windows devem usar `/` para delimitar as pastas.
      
      </div>
      
      $ 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).

  6. Crie um repositório no GitHub AE.

  7. No topo da página Quick Setup (Configuração rápida) do novo repositório do GitHub AE, clique em para copiar a URL do repositório remote. Campo Copy remote repository URL (Copiar URL do repositório remote)

    Dica: Para obter informações sobre a diferença entre as URLs de HTTPS e SSH, consulte "Sobre repositórios remotos".

  8. Verifique o nome remoto do repositório. Por exemplo, origin ou upstream são duas escolhas comuns.

    $ git remote -v
    > origin  https://hostname/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://hostname/USERNAME/REPOSITORY-NAME.git (push)
  9. 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
  10. 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)
  11. Faça push das alterações para o novo repositório no GitHub AE.

    git push -u origin BRANCH-NAME

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.