# Dividir uma subpasta para criar um novo repositório

Você pode transformar uma pasta dentro de um repositório Git em um novo repositório.

> \[!NOTE]
> Você precisa do Git versão 2.22.0 ou posterior para seguir essas instruções, caso contrário, `git filter-repo` não funcionará.

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. No entanto, observe que o novo repositório não conterá os branches e os tags do repositório original.

1. Abra <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.

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

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

   ```shell
   git clone https://github.com/USERNAME/REPOSITORY-NAME
   ```

4. Altere o diretório de trabalho atual para o repositório clonado.

   ```shell
   cd REPOSITORY-NAME
   ```

5. Para filtrar a subpasta do restante dos arquivos no repositório, instale [`git-filter-repo`](https://github.com/newren/git-filter-repo), e execute `git filter-repo` com os argumentos a seguir.

   * `FOLDER-NAME`: a pasta dentro do seu projeto onde você deseja criar um repositório separado.

   <div class="ghd-tool windows">

   > \[!TIP]
   > Windows usuários devem usar `/` para delimitar pastas.

   </div>

   ```shell
   $ git filter-repo --path FOLDER-NAME/
   # Filter the specified branch in your directory and remove empty commits
   ```

   Agora o repositório deve conter apenas os arquivos que estava(m) na(s) subpasta(s).

   Para que uma subpasta específica seja a nova pasta raiz do novo repositório, use o seguinte comando:

   ```shell
   $ git filter-repo --subdirectory-filter FOLDER-NAME
   # Filter the specific branch by using a single sub-directory as the root for the new repository
   ```

6. [Crie um repositório](/pt/repositories/creating-and-managing-repositories/creating-a-new-repository) no GitHub.

7. Na parte superior do novo repositório na página de Configuração Rápida do GitHub, clique em <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-label="Copy to clipboard" role="img"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> para copiar a URL do repositório remoto.

   ![Captura de tela do cabeçalho "Configuração Rápida" em um repositório. Ao lado da URL remota, um ícone de dois quadrados sobrepostos está contornado em laranja.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png)

   > \[!TIP]
   > Para obter informações sobre a diferença entre URLs HTTPS e SSH, confira [Sobre repositórios remotos](/pt/get-started/git-basics/about-remote-repositories).

8. Adicione um nome remoto com a URL que você copiou para seu repositório. Por exemplo, `origin` ou `upstream` são duas opções comuns.

   ```shell
   git remote add origin https://github.com/USERNAME/REPOSITORY-NAME.git
   ```

9. Verifique se a URL remota foi adicionada usando o nome do seu novo repositório.

   ```shell
   $ git remote -v
   # Verify new remote URL
   > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
   > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (push)
   ```

10. Faça push das alterações no novo repositório no GitHub.

    ```shell
    git push -u origin BRANCH-NAME
    ```